如何使用 CommandLineRunner 显式启动 spring boot servlet 服务器(tomcat/jetty)
我的 spring boot 2.x 应用程序是一个 servlet 服务器。它需要根据命令行参数执行操作,其中只有一个是启动 servlet 服务器。
示例如下:
@SpringBootApplication
public class ExampleMain implements CommandLineRunner {
public static void main(String[] args) {
new SpringApplicationBuilder(ExampleMain.class)
.web(WebApplicationType.NONE)
.run(args);
}
@Override
public void run(String... args) throws Exception {
if (args[0].equals("help")) {
System.out.println("Help is on the way");
} else if (args[0].equals("start")) {
// START Servlet Server here
}
}
}
我猜测有一些可注入实例可以用来启动 servlet 服务器,但我不知道在哪里可以找到它。
My spring boot 2.x application is a servlet server. It needs to perform actions based on command line args only one of which is starting the servlet server.
Here's the example:
@SpringBootApplication
public class ExampleMain implements CommandLineRunner {
public static void main(String[] args) {
new SpringApplicationBuilder(ExampleMain.class)
.web(WebApplicationType.NONE)
.run(args);
}
@Override
public void run(String... args) throws Exception {
if (args[0].equals("help")) {
System.out.println("Help is on the way");
} else if (args[0].equals("start")) {
// START Servlet Server here
}
}
}
I'm guessing there is some injectable instance I can use to start the servlet server, but I don't have a clue where to find it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果提供命令行参数是您考虑使用某些命令行运行程序的主要原因。我可以为您提供以下解决方案 -
您可以从 IntelliJ/Netbeans IDE 本身提供命令行参数。
对于 IntelliJ,您可以查看此讨论
If providing a command-line argument is the main reason you are thinking about using some command-line runner. I can provide you with the following solution-
You can provide command-line arguments from IntelliJ/Netbeans IDE itself.
For IntelliJ, you can see this discussion