【问题标题】:.jar doesn't work when exported (file path).jar 导出时不起作用(文件路径)
【发布时间】:2012-06-21 07:31:17
【问题描述】:

我正在尝试合并 2 个简单的程序。我想制作一个 .jar 文件,这是我编写的代码: (project1.jar和project2.exe都打包到这个.jar中)

public class main
{
   public static void main(String[] args) 
   {
      try 
      {
         Runtime.getRuntime().exec("cmd /c project1.jar");
         Runtime.getRuntime().exec("cmd /c project2.exe");
      }  
      catch(Exception exce)
      { 
         /*handle exception*/
      }
   }
}

当我在 Eclipse 中运行项目时,一切正常(两个文件都被执行,就像我想要的那样)。但是当我将这个项目导出到 .jar 并运行它时,什么也没有发生。我认为它与文件路径有关,因为它在 eclipse 中运行时工作正常。如何解决这个问题?

【问题讨论】:

  • 有什么错误吗?
  • 没有错误,只是编译后的警告。 JAR 导出完成并出现警告。有关其他信息,请参阅详细信息。导出时带有编译警告:merge/src/main.java
  • 你是如何运行你的 jar 文件的?
  • 嗯,通常情况下,我只是双击它,如果这是你的要求。
  • 您可能想查看 One-Jar:one-jar.sourceforge.net。它是一个开源工具,可让您将多个 jar 文件重新打包成一个

标签: java jar export execute


【解决方案1】:

如果您将这两个罐子包装到第三个罐子中,这将不起作用。
为了让您的“cmd...”查看和使用这两个 .jar 文件,它们必须直接存在于磁盘上,而不是打包在另一个 jar 文件中。

要解决这个问题,您可以:
- 分发 3 个 jar 文件,并使用上面的“主”类。您可能需要调整“main”以使 jar 路径正确。

- 从这两个 jar 中解压缩类并将它们的 .class 文件 jar 到您的大 jar 中,然后更改您的“main”以对正确的入口点类进行分类,而不是引用 .jar 文件。

- 像其他人提到的那样使用onejar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 2017-01-05
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 2018-11-16
    相关资源
    最近更新 更多