我開始學習maven,現在我正在嘗試開始一些簡單的realworld項目。也許它在這裏看起來很簡單,但如果我想同時打包父項目和子項目,我該怎麼辦,我真的很困惑。用Maven繼承和構建
(PS:我使用的BTW的IntelliJ IDEA)
這裏是我的配置
項目A
- 認爲這取決於番石榴和GSON
B計劃
- 它將取決於項目A
項目C
- 它將取決於項目B 當我設置包裝項目A的屬性到罐子
,它提供了一個錯誤基本上是這樣說的:「如果包裝元素在父類中,你必須將包裝元素設置爲pom」。但我知道,如果我將包裝元素設置爲pom,則不會創建包裝。
因此,我決定創建另一個項目作爲multimodule來管理包裝問題,但不知道如何!我怎樣才能同時爲他們每個人生成jar文件?
編輯 - 這裏是我DID
MODULE POM
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>com.deneme.module</groupId>
<artifactId>ModuleGroup</artifactId>
<packaging>pom</packaging>
<version>1.0.1</version>
<modules>
<module>A</module>
<module>B</module>
</modules>
</project>
項目
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>com.mg.A</groupId>
<artifactId>A</artifactId>
<version>1.0.2</version>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.3</version>
</dependency>
</dependencies>
</project>
項目B
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
<packaging>jar</packaging>
<parent>
<artifactId>A</artifactId>
<groupId>com.mg.A</groupId>
<version>1.0.2</version>
<relativePath>../A/pom.xml</relativePath>
</parent>
<groupId>com.mg.B</groupId>
<artifactId>B</artifactId>
<version>1.0.1</version>
</project>
將與您項目進行建設什麼類型的文物,B a nd C?這三個項目如何構建 - B和C作爲A的子模塊還是所有頂級項目?也許發佈你的POM和目錄結構的相關部分。 –
你的項目結構是什麼樣的?是B還是C的父母?如果是的話,這可能不是你想要的。你期望的結果是什麼(即應該是什麼結果 - 一個EAR文件?)。 如果所有三個「模塊」都在同一個「項目」中,您可以製作一個父 - 媽媽,將這三個模塊作爲孩子。 – MrD
可以說所有這些應該是一個jar文件的結果。 A是B的父母,他們都是圖書館項目。 C是一個正常的項目,它將使用庫B(和間接方式A)。我不想一遍又一遍地描述依賴關係。例如,我必須定義項目A中的所有依賴項,並且C應自動使用它們中的所有依賴項。 –