当前位置: 首页 > 知识库问答 >
问题:

.jar在导出时不起作用(文件路径)

丁鸿云
2023-03-14

我试图合并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中运行时工作得很好。怎么解决这个?

共有1个答案

魏安宁
2023-03-14

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

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

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

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

 类似资料:
  • 我有一个我写的程序的输出文件。它由FileWriter和BufferedWriter编写。 我是否错误地使用了FileWriter/BufferedWriter,或者它在.jar文件中不起作用?

  • 问题内容: 我已将项目导出到Eclipse中的可运行JAR。我的代码中有几个地方完成了以下操作。 现在,该项目为JAR形式,这些目录似乎不存在,并且加载这些文件失败。我很确定我要引用的文件都打包在JAR中。在导出到JAR时,目录是否以任何特定方式更改?关于如何进行这项工作还有其他想法吗? 问题答案: 您需要将它们视为类路径资源,而不是本地磁盘文件系统路径。当您将文件打包到JAR中并且您也不想依赖于

  • 问题出在哪里?我怎么修好它? 下面是Controller类函数的代码:

  • 我有一个我写的程序的输出文件。它由FileWriter和BufferedWriter编写。 稍后,我使用类似于的行写入文件。 当我简单地在Eclipse中运行程序时,输出文件的格式是正确的,每条消息都写在新行上。然而,当我导出到一个. jar文件时,它不再工作,并且把每条消息放在一行上,就好像“\n”不工作一样。 我是否错误地使用了FileWriter/BufferedWriter,或者它在一个环

  • 一个Java代码如下: 如果我从扩展类路径中删除hello.jar,并将其复制到也包含rt.jar的引导类路径(usr/lib/jvm/java-8-openjdk-amd64/jre/lib/),那么我的程序就无法工作。 据我所知,引导程序或扩展类加载程序中的所有jar文件都可以在程序中使用。如果这个异常是正确的,为什么Java会抛出这个异常?如果我不正确,请指导我。

  • 我想在我的js文件中导入一个函数。下面是一个简单的代码: 谢谢