加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:06:55 所属栏目:Java 来源:网络整理
导读:我想添加一个替代的入口点到我的 Spring-Boot应用程序.我宁愿把它当成一个肥罐.这可能吗? 根据他们的documentation,属性loader.main指定要启动的主类的名称. 我尝试java -jar MyJar.jar –loader.main = com.mycompany.AlternateMain,但是我的pom.xml中指定
我想添加一个替代的入口点到我的 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读