指定主类Spring-Boot命令行

时间:2014-06-20 08:15:52

标签: java spring spring-boot

我使用maven插件来设置这样的主类:

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
    <mainClass>com.myapp.main.MainClass</mainClass>
</configuration>
</plugin>

但有时我想用另一个主类运行我的应用程序。执行此操作的命令行参数是什么?

java -jar myapp-1.0.jar ...

THX

4 个答案:

答案 0 :(得分:27)

以下命令可以解决问题:

java -cp my-app.jar -Dloader.main=myApplicationClass org.springframework.boot.loader.PropertiesLauncher

答案 1 :(得分:7)

有一个launcher for that in Spring Boot already。你需要用它作为Main-Class(by setting the layout in the build config)来构建jar。

答案 2 :(得分:2)

从Windows PowerShell执行我需要这种格式(带引号):

java -cp .\myjarfile.jar -D"loader.main=com.app.etc.FullyQualifiedMainClass" org.springframework.boot.loader.PropertiesLauncher

澄清接受的答案:如果您使用更静态的解决方案,可以直接修改jar的META-INF / MANIFEST.MF文件中的loader.main属性。

答案 3 :(得分:0)

对于 WAR 文件:

java -cp salamander-1.0.0.war -Dloader.path=WEB-INF/classes,WEB-INF/lib -Dloader.main=com.frog.katak.MyMainClass org.springframework.boot.loader.PropertiesLauncher