写真は次のとおりです。
次の階層のいくつかの 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 がダウンロードしたリソースなどを処理する方法に関連していると思われます。
何か案が?