mvn spring-boot: 부모 모듈에서 실행하시겠습니까?
다음과 같은 멀티 모듈 메이븐 프로젝트가 있습니다.
우리 부모님
--마이 도메인
--my-service
--my-app << 이것은 Spring Boot 모듈입니다.
달리고 싶다mvn spring-boot:run
명령어를 부모 모듈에서 직접 실행할 수 있습니다.먼저 my-app 디렉토리에 CD를 삽입할 필요는 없습니다.
이것은, 의 설정에 관련하고 있는 것을 알 수 있습니다.spring-boot-maven-plugin
제대로 못 맞힐 것 같아요.
다음을 시도했습니다.
사용하다
spring-boot-starter-parent
디폴트 설정에서는,spring-boot-maven-plugin
my-app의 플러그인 섹션에 포함되어 있습니다.
입니다.mvn spring-boot:run
부모로부터의 결과는 다음과 같습니다.
Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.4.2.RELEASE:run (default-cli) on project my-parent: Unable to find a suitable main class, please add a 'mainClass' property -> [Help 1] in the parent module
사용하지 않다
spring-boot-starter-parent
.
정의spring-boot-dependencies
depManagement에서 설명합니다.
정의spring-boot-maven-plugin
my-parent의 pluginManagement 섹션과 my-app 모듈의 plugins 섹션에 플러그인을 포함합니다.
부모에서 mvn spring-boot: run을 실행하면 #1과 같은 오류가 발생합니다.
goal org.springframework를 실행하지 못했습니다.boot: spring-boot-maven-plugin: 1.4.2.RELEASE: 프로젝트 my-parent: 실행(default-cli):적합한 기본 클래스를 찾을 수 없습니다. 'mainClass' 속성을 추가하십시오. -> [도움말 1]사용하지 않다
spring-boot-starter-parent
.
정의spring-boot-dependencies
depManagement에서 설명합니다.
정의spring-boot-maven-plugin
my-app의 플러그인 섹션에 있습니다.
부모에서 mvn spring-boot: run을 실행하면 다음과 같은 결과가 됩니다.
No plugin found for prefix 'spring-boot' in the current project and in the plugin groups
위에서 설명한 모든 경우,mvn spring-boot:run
정상적으로 동작합니다.
이 일을 잘 풀 수 있는 방법이 있을 것 같아요기존 비부트 스프링 프로젝트에서는 구성이 매우 간단했습니다.tomcat7
실행할 수 있는 플러그인mvn tomcat7:run-war
부모로부터 Web App 서브 매니저가 정상적으로 기동합니다.
다음 부모 폼을 추가하여 수행할 수 있습니다.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
In my-app(Spring Boot 모듈) 폼에는 다음과 같은 내용이 있습니다.
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<skip>false</skip>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
이제 프로젝트 루트에서 실행할 수 있습니다.
mvn -pl my-app -am spring-boot:run
기타 참고 자료:
- spring-boot: 멀티 모듈 maven 프로젝트로 핫 새로고침 실행 · 이슈 #3436 · spring-projects / spring-boot · GitHub : 특히 이 코멘트.
spring-boot maven 플러그인 구성 옵션:
skip: skips the execution of sprint-boot:run [default: false]
fork: Flag to indicate if the run processes should be forked [default: true]
spring-boot maven 플러그인 파라미터 참조
maven 옵션:
-pl, --projects: Comma-delimited list of specified reactor projects to build instead of all projects. A project can be specified by [groupId]:artifactId or by its relative path
-am, --also-make: If project list is specified, also build projects required by the list
maven CLI 옵션 참조
언급URL : https://stackoverflow.com/questions/41092200/run-mvn-spring-bootrun-from-parent-module
'programing' 카테고리의 다른 글
1면에 올빼미 회전목마 추가하는 방법 (0) | 2023.03.02 |
---|---|
REST API의 JSON 응답에 null 값을 포함해야 합니까? (0) | 2023.03.02 |
각 도커 이미지에 JDK를 포함해야 합니까? (0) | 2023.03.02 |
워드프레스 - term_에서 용어 이름을 가져오는 방법아이디? (0) | 2023.03.02 |
ajax를 사용하여 wordpress 설정 api 옵션을 저장하는 중, (0) | 2023.03.02 |