나는 maven을 처음 사용합니다.부모 pom에 정의 된 maven release plugin을 비활성화하십시오.
myWebProduct
pom.xml
coreModule
webModule
htmlTestModule
받는다는 해제 플러그인이 myWebProduct
의 부모 pom.xml
파일의 회사 수준에서 정의를 다음과 같이 나는 제품 구조를 가지고있다. 출시 플러그인 기본 목표는 deploy
이고 기본 준비 목표는 clean verify install
입니다.
레벨에서 제품을 출시하고 싶습니다. htmlTestModule
을 생략하고 싶습니다. deploy
수명주기를 htmlTestModule
으로 설정하면 원격 Tomcat 서버에 war 파일을 배포하게되므로 릴리스하는 동안이 작업을 원하지 않습니다.
htmlTestModule
의 pom.xml
에 다음을 추가하려고했습니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.1</version>
<configuration>
<skip>true</skip>
<preparationGoals>clean validate</preparationGoals>
<goals>testCompile</goals>
</configuration>
</plugin>
그러나 'mvn release : perform'을 실행하는 경우는 myWebProduct
입니다. 배포 목표가 여전히 htmlTestModule
에서 실행 된 것을 확인했습니다. 누구든지 이걸 도와 줄 수 있니?
그리고 나는 또한 htmlTestModule
에 다음과 같은 노력이 :
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>donotRunMe</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
아직도, 배포 목표는 항상 htmlTestModule
에서 실행. 감사합니다.
답장을 보내 주셔서 감사합니다. 내 테스트 목표가 그것에 달려 있기 때문에 prepare-package-phase에서 tomcat 서버를 재배치하기 위해 배포 용 war 파일을 묶었습니다. 이 종류의 테스트 패키지에 대한 귀하의 제안은 무엇입니까? – user639812
그럼 모든게 다르지만 내 일반적인 규칙은 내 빌드가 (통합) 테스트를 포함하여 자체 포함되어야한다는 것입니다. 그래서 로컬 (빌드에) Tomcat 인스턴스 (예 : Cargo 또는 Tomcat 플러그인 사용)에서 배포하고 테스트 해 보겠습니다. 이렇게하면 빌드가 특정 구성이 필요한 외부 리소스에 의존하지 않습니다. 릴리스를 실행하는 데 너무 많은 시간이 소요된다면 전체 배포 단계가 아니라 tomcat 인스턴스에서 테스트를 건너 뛰는 방법을 찾도록 제안합니다. 또한이 테스트를위한 최상의 단계는 아마도 통합 테스트 단계 일 것입니다. HTH. – SaM