我有一个由 Maven 创建的 jar,其中包含所有依赖项。我有另一个java代码想要使用jar作为库。我的java代码和jar中的类属于两个不同的包。
以下显示了我如何在 jar 中运行主类:
java -Dlog4j.configurationFile=src/test/resources/log4j2.xml
-cp pathtojars com.mainclass "parameters to mainclass" "inputfile"
如何在 java 代码中执行完成后调用 jar 中的主类(相当于上述命令)并获取其 STDOUT 作为变量?
最佳答案
您可以使用 ProcessBuilder
来执行此类操作,但是否应该从另一个 Java 程序调用 Java 程序是另一个问题:
Process process = new ProcessBuilder("java", "-Dlog4j.configurationFile=src/test/resources/log4j2.xml", "-cp", "pathtojars com.mainclass", "\"parameters to mainclass\"", "\"inputfile\"").start();
OutputStream os = process.getOutputStream();
关于java - 从代码中调用jar中的java类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31662316/