我试图从 java 代码运行 jar 文件,但它不起作用。 我已经尝试了运行时和 ProcessBuilder,但它无法启动。 该 jar 是 Jetty Web 服务器的 start.jar 文件
请问有什么帮助吗?
最佳答案
我不知道你的用例,但我认为你正在尝试启动 Jetty 服务器,以我的愚见,这种情况的最佳选择是使用 Jetty 作为依赖项。请将该 jar 文件放入您的类路径中,并将这些行添加到您的代码中。
import org.eclipse.jetty.server.Server;
public class App {
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
server.start();
server.join();
}
}
以及运行时,
String directory = "[jetty directory]";
String format = "/usr/bin/java -Djetty.logging.dir=%s/logs -Djetty.home=%s -Djetty.base=%s -Djava.io.tmpdir=/tmp -jar %s/start.jar jetty.state=%s/jetty.state jetty-logging.xml jetty-started.xml";
Process process = Runtime.getRuntime()
.exec(String.format(format, directory, directory, directory, directory, directory));
process.waitFor();
关于java - 从 java 代码运行 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36647944/