java – Spring Boot – 如何指定备用启动类? (多个入口点)

前端之家收集整理的这篇文章主要介绍了java – Spring Boot – 如何指定备用启动类? (多个入口点)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_404_0@
我想添加一个替代的入口点到我的 Spring-Boot应用程序.我宁愿把它当成一个肥罐.这可能吗?

根据他们的documentation,属性loader.main指定要启动的主类的名称.

我尝试java -jar MyJar.jar –loader.main = com.mycompany.AlternateMain,但是我的pom.xml中指定的start-classes仍然运行(如果我从pom.xml中删除它,那么我在打包时出错) ).

或者,我尝试java -cp MyJar.jar com.mycompany.AlternateMain,但我不知道一个很好的方法添加所有的嵌套jar到类路径.

有什么建议么?

编辑:这是我使用的解决方

正如jst建议的那样,我改变了我的启动器以使用PropertiesLauncher.我通过修改我的spring-boot-maven-plugin的配置来做到这一点.

<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <configuration>
    <mainClass>${start-class}</mainClass>
    <layout>ZIP</layout>
    ...

我创建了我的胖罐(mvn包),然后调用替代主机,如下所示:

java -jar -Dloader.main=com.mycompany.AlternateMain MyJar.jar

谢谢您的帮助!

解决方法

我不相信财产会适用于你的情况.有3种不同的“发射器”(返回文档并看到).如果你正在构建一个jar,它将使用JarLauncher类.如果将其切换到PropertiesLauncher,那么loader.main将会很有用.

Meta-INF / MANIFEST.MF

Main-Class: org.springframework.boot.loader.PropertiesLauncher

猜你在找的Java相关文章