[英]Dependencies In Same Reactor
我有一個非常簡單的Tycho反應器,其中包含兩個模塊:一個是標准的Maven項目,並添加了一些附加功能:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<id>default-bundle</id>
<phase>package</phase>
<goals>
<goal>bundle</goal>
</goals>
<configuration>
<instructions>
<Export-Package>org.acme.jar</Export-Package>
</instructions>
<manifestLocation>META-INF</manifestLocation>
</configuration>
</execution>
</executions>
</plugin>
第二個是Tycho項目,它依賴於MANIFEST.MF中的上述JAR。
如果開始構建,則會收到以下異常:
[ERROR] Cannot resolve project dependencies:
[ERROR] Software being installed: plugin 0.0.1.qualifier
[ERROR] Missing requirement: plugin 0.0.1.qualifier requires 'bundle org.acme.jar 0.0.1' but it could not be found
這是很奇怪的,因為包是在同一反應器。
但不用擔心,我也可以添加Maven依賴項:
<!-- parent pom.xml -->
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>0.26.0</version>
<configuration>
<pomDependencies>consider</pomDependencies>
</configuration>
</plugin>
<!-- plug-in pom.xml -->
<dependencies>
<dependency>
<groupId>org.acme</groupId>
<artifactId>jar</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
我仍然遇到同樣的異常,這很奇怪,因為文檔聲稱: Maven根據正常的Maven規則解決了GAV依賴關系。
那不是真的。 顯然org.acme.jar
沒有得到解決。 也許Tycho無法看到它是捆綁包。
JAR模塊是用於服務器端組件的API項目,從長遠來看,我們希望刪除SWT / Tycho,因此不能將org.acme.jar
做成Eclipse插件。
如何在Tycho的同一反應器中定義依賴關系?
恐怕您目前無法實現要求的功能。 第谷Wiki記錄了對pom-first工件HOW-TO的依賴性的 這一限制 。
話雖如此,如果您真的希望整個構建( maven-bundle-plugin
和Tycho部件)通過單個mvn clean install
,則可以在“ plain Maven”構建的末尾使用maven-invoker-plugin
進行分叉。 “ Tycho構建”應該起作用。 但是,這是一個相當麻煩的解決方法( 例如Github上的示例 )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.