1

Netbeans RCP を使用してアプリケーションを開発しています。project.propertiesプラットフォームのファイルのクラス パスに jar を追加するオプションを追加しました。

run.args.extra=-cp:a ./appclient/glassfish/lib/gf-client.jar

私が遭遇する問題は、Netbeans IDE から実行すると機能するが、独立したアプリケーション (たとえば Mac OSX 用のビルド) を作成しようとすると機能しないことです。project.properties独立したアプリケーションを実行すると、 は考慮されなくなり、もちろん、appclientjar を含むディレクトリはアプリケーション パッケージに存在しなくなります (そのため、jar はクラス パスに追加されません) 。

この -cp オプションを独立した Mac OSX アプリケーションで機能させるにはどうすればよいですか?


編集:独立したプラットフォーム用のカスタム conf ファイルを作成できましたが、jar をクラスパスに追加する方法が見つかりません。使用するオプションがわかりません。

編集:それを達成するには、承認されたメカニズムが必要であることがわかりました。したがって、次のコマンドを app.conf ファイルに追加しました。

J-Djava.endorsed.dirs=/Users/altanis/appclient/glassfish/lib/gf-client.jar

しかし、.app (Mac アプリケーション) を実行すると、次のエラーが発生します。

-J-Djava.endorsed.dirs=/Users/altanis/appclient/glassfish/lib/gf-client.jar: No such file or directory

パスは正しいです。JVMにこれを認識させるために何か特別なことをする必要がありますか? 私はこのチュートリアルに従い、著者のコメントのどこかで次のように述べています。

そうですが、package-appclient はすべてをコピーするので、承認されたメカニズムを使用してクラスパスに配置できるはずです。それによって作成された jar を解凍し、そこから必要なもの (jar) をすべてアプリケーション インストーラーに追加します。次に、承認された (-J-Djava.endorsed.dirs=${GFCLIENT_PATH}) メカニズムを app.conf で使用して、それをアプリケーションのクラスパスに配置できます。このようにして、クライアントと一緒に展開できるはずです。

4

2 に答える 2

1

新しいライブラリを作成する方が良い方法だと思います。

  1. 必要な jar を使用してモジュール タイプ ライブラリを作成する
  2. モジュールで、作成されたモジュールに依存関係を追加します(タイプラップされたライブラリ)
于 2012-12-15T08:20:46.173 に答える
0

Class-pathアプリケーションのMANIFEST.MF For example にエントリを追加する必要があります

Class-Path: apache-commons-2.1.jar ejb-api-3.0.jar

これはすべてjars、アプリケーションのルートディレクトリにある必要があります アプリケーション
は次の構造を持つ必要があり ます

MyApplication.jar  
/META-INF  
/META-INF/MANIFEST.MF  
/apache-commons-2.1.jar  
/ejb-api-3.0.jar  
/com/package/classes  

またはjar、JDK のツールを使用して jar を作成することもできます。
詳しくは、こちらのOracle docを参照してください。

于 2012-12-13T11:11:38.350 に答える