java - 从 java 代码运行 .JAR 文件 (netbeans)

标签 java netbeans jar processbuilder

我正在尝试从 java 代码运行 jar 文件,但不幸的是没有成功。 有关 jar 文件的一些详细信息:

  1. jar 文件位于不同的文件夹中(例如“文件夹”)。
  2. 使用文件和文件夹的 jar 文件位于根文件夹中(与我上面提到的相同“文件夹”)。

到目前为止我正在尝试做什么:

JAR 文件项目。

  1. 在 netbeans 中,我检查了主类是否为 defiend(项目属性 -> 运行 -> 主类)。

其他JAVA程序

  1. 尝试使用以下命令运行:

      Runtime.getRuntime().exec("javaw -jar "C:\\Software\\program.jar");
    

    &&

      Runtime.getRuntime().exec("javaw -jar "C:\\Software\\program.jar" "C:\\Software");
    

    jar 文件打开得很好,但他不知道也不识别他的内部文件夹和文件(与我上面提到的相同的“文件夹”)。 简而言之,它无法识别其根文件夹。

  2. 尝试使用 ProcessBuilder 运行

           ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "start", "javaw", "-jar", "C:\\Software\\program.jar");
        pb.directory(new File("C:\\Software"));
        try {
            pb.start();
        } catch (IOException ex) {
    
        }
    

在某些电脑上它工作正常,但在其他电脑上它不起作用,我收到一条错误消息:“找不到主类” ** 当然,如果我双击运行该 jar 它的作品。

那么我如何从其他java程序运行jar文件?

最佳答案

使用this .exec 的变体,您将工作文件夹指定为第三个参数。 (在您的示例中,您始终只使用一个参数。)

exec("javaw -jar "C:\\Software\\program.jar", null, "C:\\Software");

关于java - 从 java 代码运行 .JAR 文件 (netbeans),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47374925/

相关文章:

java - 当用户直接将值输入到对象中时,如何进行输入验证?-JAVA

java - 使用 XSLT 为所有节点生成 XML 的 xpath

php - 如何管理 Netbeans 中的默认命名空间

java - XML Schema V 1.1 断言在 Xerces-J 中不起作用

android - 实现activity如何在android中使用jar中的方法

java - eclipse 。在 list 配置中发现错误。如何解决?

java - 使用delete()删除文件 - Java

java - 事件处理程序不在命名空间中

java - iText PDF 创建错误

java - 在可执行 jar 文件中包含图像图标