gpt4 book ai didi

java - 启动嵌入式 Jetty 服务器作为后台进程

转载 作者:行者123 更新时间:2023-12-04 06:19:15 25 4
gpt4 key购买 nike

我有一个 Spring 应用程序,并使用 Tomcat 开发它并在服务器上运行它。我对部署->取消部署-->再次部署-->..开发过程感到非常沮丧,所以我决定切换到嵌入式Jetty。所以基本上现在我只有一个负责启动我的服务器的 Java 类:

public class MainServer {

private Server start() throws Exception {
Server jetty = new Server();
String[] configFiles = { "WebContent/WEB-INF/jetty.xml" };
for (String configFile : configFiles) {
XmlConfiguration configuration = new XmlConfiguration(new File(configFile).toURI().toURL());
configuration.configure(jetty);
}

WebAppContext appContext = new WebAppContext();
File warPath = new File("WebContent");
appContext.setWar(warPath.getAbsolutePath());
appContext.setClassLoader(Thread.currentThread().getContextClassLoader());
appContext.setContextPath("/4d");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { appContext, new DefaultHandler() });
jetty.setHandler(handlers);

jetty.start();
jetty.join();
return jetty;
}

public static void main(String[] args) {
try {
new MainServer().start();
} catch (Exception e) {
e.printStackTrace();
}
}

}

这非常适合开发,因为它允许热交换并且看起来更快。但是,我还想稍后将此设置部署到我的服务器。启动此服务器并在后台运行它的最佳方法是什么(如 Tomcat startup.sh)?我应该如何调用这个 MainServer 类?

最佳答案

你提到了startup.sh,所以我想你的服务器很像unix。然后考虑使用nohup命令:

nohup java [options] MainServer > nohup.out &

关于java - 启动嵌入式 Jetty 服务器作为后台进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6812956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com