Java 运行.jar中打包的.exe

Java 运行.jar中打包的.exe,java,jar,package,embedded-resource,runtime.exec,Java,Jar,Package,Embedded Resource,Runtime.exec,我正在尝试将我制作的两个程序合并到一个.jar文件中。一个程序是用java编写的.jar,第二个程序是C++编写的.exe。我把这两个文件都放在了新的.jar中,编写了这段代码,但都不起作用。当这段代码被导出到.jar并执行时,两个文件都没有运行,我在cmd中得到了错误“no main manifest attribute,in merged.jar”。尽管它在eclipse中运行时工作得很好 public class main { public static voi

我正在尝试将我制作的两个程序合并到一个.jar文件中。一个程序是用java编写的.jar,第二个程序是C++编写的.exe。我把这两个文件都放在了新的.jar中,编写了这段代码,但都不起作用。当这段代码被导出到.jar并执行时,两个文件都没有运行,我在cmd中得到了错误“no main manifest attribute,in merged.jar”。尽管它在eclipse中运行时工作得很好

  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*/
      }
       }
   }
你知道如何解决这个问题吗?或者有其他方法吗?我是java新手,所以想不出什么好东西。也许可以将这些文件放到windows中的一个临时位置,并在执行后将其删除?

请查看

您必须更新清单文件,以使用包含Main()方法的类填充“Main Class”属性。

您可以尝试以下操作:

    String filePath = "C:/Path/to/my/file.exe";
    try {

        Process p = Runtime.getRuntime().exec(filePath);

    } catch (Exception e) {
        e.printStackTrace();
    }

不能运行jar文件中的exe。Windows在那里找不到它。EXE做什么?放置Java应用程序的优势是什么。作为EXE的包装器?为什么不在C++中编写这个部分呢?一般的技巧。1) 对代码块使用一致的逻辑缩进。2) 在每个
catch
中,添加
e.printStackTrace()
作为其一部分。3) 复制/粘贴错误输出并使用代码格式。4) 如果
/*handle exception*/
不是异常处理程序中使用的代码,请发布一个。我会说“+1代表
printStackTrace()
”,但对于:1)此资源(可执行文件)位于Jar中。因此,所述路径不会指向它。无法创建任何文件路径。它不是一个文件。2) 使用
ProcessBuilder
构建
流程
。这至少使实现的一步更容易:3)实现的所有建议不回答问题,则.exe打包在jar中,因此exe的路径与jar的路径相关。要修复至少“I Get error”没有主清单属性,请在该答案中的merged.jar“in cmd”中。