당신은 (런타임에이 모듈 jar
및 war
에, 부모에 대한 pom
에서 바꿀 것)을 packaging
을 기반으로 새 속성을 만들려면 부모 pom.xml
파일에 build-helper-maven-plugin
를 사용할 수 있습니다. 이 새로운 속성은 maven-install-plugin
을 동적으로 건너 뛸 수 있습니다.
간단한 예 : project.packaging
값 war
있고 같은 효과적으로 skip
옵션을 통해 maven-install-plugin
실행을 스킵 할 때만
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.10</version>
<executions>
<execution>
<id>build-helper-regex-is-packaging-war</id>
<phase>validate</phase>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>only.when.war.is.used</name>
<value>${project.packaging}</value>
<regex>war</regex>
<replacement>true</replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<skip>${only.when.war.is.used}</skip>
</configuration>
</plugin>
은 그렇게는 동적 ${only.when.war.is.used}
속성 true
로 설정 될 것이다.
당신은 다음 프로필이 동작을 이동하고 공통의 장소에 보관, jar
및 war
에 대해 다른 설정을 할 수 : 루트 pom.xml
, 자신의 동적 거동에 감사합니다. 이슈가 이미 설치되었는지의 여부를 감지 할 수있는 능력에 관한
는
의 official 플러그인 문서에 이런 옵션이없는 나는 단순히 플러그인을 사용하여 같은 동작을 수 있다고 생각하지 않습니다 .
그러나 파일이 없으면 (설치된 파일) maven profile 활성화 메커니즘을 사용하여 그에 따라 프로파일을 활성화 할 수 있습니다.
동적 방법으로 할 수
다음과 같은 접근 방식 (전용 표준 속성에 따라) :
<profiles>
<profile>
<activation>
<file>
<missing>${settings.localRepository}/${project.groupId}/${project.artifactId}/${project.build.fileName}.${project.packaging}</missing>
</file>
</activation>
...
</profile>
</profiles>
는 당신이 이제까지'MVN --projects 모듈 --also - 메이크업 dependent' 고려 적이 있습니까? – khmarbaise