나는 두 개의 별개의 복잡한 빌드 작업을 가지고 있는데, 이는 maven에 의해 순차적으로 수행되어야한다. 예를 들어, war 파일, 라이브러리 및 ...
내가 아는 한, 나는이 작업을 별도의 maven pom 파일로 분할해야한다. 이 접근 방식으로, 각각의 pom 파일에는 특정 책임이 있습니다. 가능한 한 간단하게 유지할 수 있습니다. 몇 가지 기술적 인 문제로 인해이 작업을 수행해야합니다.
부모 pom 파일에이 두 파일 사이에 공유 된 종속성을 넣어 중복을 줄입니다.
이 경우 create-jar.xml 및 create-war.xml은 작업이고 parent.xml은 공유 된 종속성을 포함합니다.
parent.xml여러 POM 파일을 사용하여 프로젝트 빌드
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>main</groupId>
<artifactId>main</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.13</version>
</dependency>
</dependencies>
</project>
생성-jar.xml의
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>main</artifactId>
<groupId>main</groupId>
<version>1.0</version>
<relativePath>parent.xml</relativePath>
</parent>
<groupId>create</groupId>
<artifactId>create</artifactId>
<version>1.2-SNAPSHOT</version>
<packaging>jar</packaging>
</project>
생성-war.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>main</artifactId>
<groupId>main</groupId>
<version>1.0</version>
<relativePath>parent.xml</relativePath>
</parent>
<groupId>create-war</groupId>
<artifactId>create-war</artifactId>
<version>1.1-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
</configuration>
</plugin>
</plugins>
</build>
</project>
W hat 내가 필요합니다 mvn은 하나의 명령으로 두 pom 파일의을 설치합니다. 창조 - 항아리가 창조 전쟁 이전에 실행되어야하기 때문에이 명령서는 내게 정말로 중요합니다.
두 가지 접근 방법이 있습니다.
상속 create-jar.xml을 create-war.xml의 직접적인 부모로 사용하여 create-war를 실행하면 create-jar가 호출됩니다.
다른 해결책은 create-war.xml에서 create-jar.xml을 실행하여 구성입니다. 어떻게 할 수 있을지 모르겠습니다. 하지만 maven-invoker 또는 maven-antRun 플러그인이 도움이 될 수 있다고 생각합니다. 나는 나에게 기꺼이 도와 줄 것이다.
멀티 모듈 빌드가 필요합니다. – Jens
WAR에 JAR이 포함되는지 확인하십시오. 실제로 시나리오가 "JAR을 빌드 한 다음 JAR이 포함 된 WAR을 빌드"하는 경우 -이 시나리오의 첫 번째 시나리오는 아닐 것입니다. –
나는'이 을 만들 ' 주 당신의 생성-war.xml이 추가 시도 것 –