我正在使用直接来自java程序本身的命令行调用来重现Eclipse的“export runnable .jar file”功能。因此,这些命令应在Eclipse编译项目后执行。我需要这个来更好地控制文件在.jar中的结果并加快开发过程。
以下命令成功打包“bin”目录中的结构和类,并使用正确的主类创建manifest.mf文件,以便myjar.jar可运行。
ProcessBuilder builder = new ProcessBuilder("jar", "cvfe", "myjar.jar", "main.MainControler", "-C", "bin", "/");
Process process = builder.start();
但是我的项目有几个库(.jar文件)通过Eclipse的类路径对话添加到类路径中。例如,我正在使用pi4j库。我预计当eclipse编译并执行程序时,它的内部目录和类结构(类似“com.pi4j。***。class”)将被添加到“bin”目录中。然而它并不存在,因此永远不会在“myjar.jar”中结束(并且在运行.jar时我会遇到类缺失错误)。
当我使用Eclipse的导出功能时,文件就在那里。
如何从其他.jar库中导出.class文件以便添加它们,我需要做什么?
非常感谢提前:)