0

写真は次のとおりです。

次の階層のいくつかの jar とライブラリに分割されたコードがあります。

Main.jar
  ---lib
      |
      ------ Secondary.jar
      ------ Lib1.jar
      ------ Libx.jar

Main.jar のメイン クラスは、次のように、Secondary.jar の別のメイン クラスを呼び出します。

ArrayList<String> commands = new ArrayList<String>();
commands.add("java");
commands.add("-cp");
commands.add("lib"+System.getProperty("file.separator")
+Secondary.jar+System.getProperty("path.separator")+"lib");
commands.add("<Secondary Main class cannonical path>");
System.out.printl(commands.toString().replaceAll(",",""));
ProcessBuilder pb = new ProcessBuilder(commands);
pb.start();

これを IDE やコマンド プロンプト (println が出力するコマンド) から実行すると、正常に動作します。javawebstart から実行すると、クラスパスにセカンダリ メイン クラスが見つからないため、そのプロセスは失敗します。

JWS がダウンロードしたリソースなどを処理する方法に関連していると思われます。

何か案が?

4

1 に答える 1