programing

주 클래스 Spring-Boot 명령줄 지정

i4 2023. 7. 5. 20:04
반응형

주 클래스 Spring-Boot 명령줄 지정

메인 클래스를 다음과 같이 설정하기 위해 메이븐 플러그인을 사용합니다.

<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 ...

고마워

다음 명령을 사용하면 유용합니다.

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

스프링 부트에는 이미 런처가 있습니다.빌드 구성에서 를 설정하여 메인 클래스로 사용하여 jar를 빌드해야 합니다.

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 속성을 직접 수정할 수 있습니다.

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

언급URL : https://stackoverflow.com/questions/24322848/specify-main-class-spring-boot-command-line

반응형