0
目前,我有一個項目,模塊B依賴於模塊A的依賴Maven的繼承依賴模塊
模塊A是:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.A</groupId>
<artifactId>P</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>A</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>A</name>
<build>
<sourceDirectory>${sourceDirectory}/A/src</sourceDirectory>
</build>
<dependencies>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>5.0.0</version>
<optional>true</optional>
</dependency>
</dependencies>
</project>
模塊B是:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.A</groupId>
<artifactId>P</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>B</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>B</name>
<build>
<sourceDirectory>${sourceDirectory}/B/src</sourceDirectory>
</build>
<dependencies>
<dependency>
<groupId>com.A</groupId>
<artifactId>C</artifactId>
<version>1.0.0</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.A</groupId>
<artifactId>A</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</project>
爲了編譯BI,需要a-dep中的類。如果我手動添加a-dep作爲依賴項,則所有編譯都會正常。但是這個項目需要我依靠A來獲得一個dep,而不是明確地聲明a-dep。
有沒有辦法根據模塊A從a-dep中獲取類?
這應該工作。你可以做一個示例項目,顯示這個問題...如果你定義了一個依賴關係,你也將得到所有的傳遞依賴關係。所以我的問題已經在依賴中定義了一個範圍? – khmarbaise
@khmarbaise我已經更新了實際代碼的示例(只替換了變量名稱)。我認爲它也可以工作,但它不像我編譯B時那樣,因爲osgi核心中的類會導致錯誤。 – tom
爲什麼要定義' $ {sourceDirectory}/B/src sourceDirectory>'? –
khmarbaise