这是图片:
我的代码分为以下层次结构中的一些 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如何处理下载的资源等有关。
有什么想法吗?
最佳答案
Sun 使得小程序或 JWS 应用程序变得不可能。确定应用程序在本地文件系统上的位置。已安装。这不是任何应用程序。企业要知道这一点。
关于java - JNLP、ProcessBuilder 和文件层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16094275/