我使用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
答案 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