java - 从代码中调用jar中的java类

标签 java jar

我有一个由 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/

相关文章:

java - Java 中的局部引用优化

java - 在 mongoDB 中存储来自 twitter api 的 json 文件

java - Gradle - 将第三方依赖项安装到本地 Ivy 存储库中

java - 如何检测类路径中的重复 JAR?

spring-boot - 如何从远程计算机上的jar文件运行测试?

java - Gradle:创建一个没有类,只有资源的 jar

java - 是否可以调用在 Java 方法中作为参数传递的 Scala 方法?

Java - 比较 2 个 int 数组并根据它们的值进行判断

java - logback日志文件到统一文件路径

java - 我可以使 jar 文件可以从任何目录运行吗?