我有兩個不同的複雜構建任務,必須由maven按順序完成。例如創建戰爭文件,庫和...
據我所知,我必須將這些任務拆分成單獨的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 ^我需要的帽子是通過一個命令調用mvn安裝這兩個pom文件。該命令對我來說非常重要,因爲create-jar必須在創建之前運行。
有兩種方法。
第一個繼承,通過使用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 ' 主要 創建 ' –