0

サーバーに保持されている DB に Java スクリプト ライブラリを保存/コンパイルしようとすると、[問題] ビューに次のエラーが表示されるという問題がありました。私は DDE 8.5.3 を使用しています (注、アプリとライブラリの名前を変更しました):

プロジェクト 'app_name.nsf.java-lib-name.javalib' に必要なライブラリがありません: 'C:\lotus\notes8\jvm\lib\axis\axis.jar'

Eclipse ベースの Java エディターを使用していることは注目に値します。従来のエディターを使用すると、この問題は発生しません。

私のスクリプト ライブラリには多数の JAR ファイルが関連付けられていましたが、問題を引き起こしていると思われるパスを介してそれらのファイルが含まれていませんでした。また、含まれているすべての JAR がカスタム ビルドされており、いずれもユーザーまたは Axis を必要としないため、深く隠された依存関係になることはありませんでした。

また、外部 JAR をプルせずに新しいライブラリを作成するテストを行ったところ、同じエラーが発生しました。

この問題は、ローカルの notes.ini で「JavaUserClassesExt」を使用したことが原因であることが判明しました。私は最近、Axis に依存する LN クライアント アプリを使用しており、インストール プロセスの一部には、関連する Axis ファイルを jvm/lib/ext 内のカスタム ディレクトリにドロップしてから、"JavaUserClassesExt" を使用してこれらのファイルを含めるように ini を更新することが含まれます。 JVM を起動します。

最近、LN インストールの場所を上記のパス (lotus\notes8) から少し異なる場所 (lotus\notes853) に変更する必要があったため、この問題が発生したのは今だけだと思います。元のインストール場所から ini をコピーしたため、まだ古いパスを参照しています。間違ったパスへの参照を削除すると、エラーは解消されました。

JVM は必要なすべてのファイルをクラスパスにロードしようとしていますが、「JavaUserClassesExt」を介して要求されているファイルが見つからないため、問題が発生しています。

理解できないのは、Axis フレームワークとは関係のないまったく別のデータベースでスクリプト ライブラリを編集しようとすると、なぜこのエラーがスローされるのかということです。ローカル クラスパス上にあることに基づいて Axis に関連するものをインポートしようとすると、コンパイル エラーが発生することが予想されますが、ライブラリが Axis とは何の関係もないときにこのエラーをスローするのは、混乱を招き、正しくないように思えます。

前述したように、これは Eclipse ベースの Java エディターを使用している場合にのみ発生するため、これはそのバージョンのエディターのバグであると推測されます。

誰かが似たようなものに出くわしましたか? これは予想される動作として分類されますか、それともこれがバグであるかどうかを誰かが確認できますか?

これはかなりエッジケースの問題であることは承知していますが、洞察に興味があります。

乾杯、リー

4

0 に答える 0