java - JNLP、ProcessBuilder 和文件层次结构

标签 java java-web-start processbuilder

这是图片:

我的代码分为以下层次结构中的一些 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/

相关文章:

java - 使用方法和对象,但不使用数组

java - 与 JShell 实例共享动态加载的类

Java 语言断言错误

java - 如何检测 Java Web Start 何时/为何无法为用户启动

java - 读取java进程的输入流

java - 你如何将其格式化为字符串

java - 如何将网络书通知中的参数获取到我的 AWS Lambda 函数中?

Java Web Start 未安装在 Windows 7 中

Java 停止进程并关闭流

Java:无法使用参数执行外部 exe