![](/img/trans.png)
[英]Maven Jenkins Plugin POMs missing for dependency information on JARs
[英]Plugin JARs are missing in an application built with Tycho
我正在使用Maven Tycho構建Eclipse應用程序。 我設法創建了pom文件來構建插件和功能。 我在它們上安裝並成功構建。 我還為應用程序(產品)創建了pom,並將Packaging設置為“ eclipse-application”。 該應用程序基於功能。 我運行安裝並成功構建。 我得到了為應用程序生成的文件夾,其中包含文件夾“ plugins”和“ features”。
問題在於,並非所有的jar文件(對於所有插件)都可以在plugins文件夾中找到。 我可以找到功能中列出的插件的jar文件。 但是不會生成其他插件的“依賴關系”選項卡中列出的插件的jar文件。 換句話說,僅功能中引用的插件會生成為jar文件,而不會生成插件中所引用的jar文件。
顯然,沒有它們,我將無法運行該應用程序。 我究竟做錯了什么? 如何獲得所有必需的jar文件?
謝謝!
首先,不要使用eclipse-application
。 它已經過時了,作為一個試圖使其與自己的項目一起使用的人,我可以告訴你這是一個壞主意,因為它存在很多問題。 相反,請使用eclipse-repository
。
其次,將在您的產品plugins
目錄中顯示的唯一.jar文件將是已成功編譯的文件,並且也位於.product文件的依賴項部分(而不是 manifest.mf)中。
我懷疑您的問題與第二點有關,但是我已經看到eclipse-application
做了很多奇怪的事情,僅靠它本身就可以解決您的問題。
第一個答案在正確的軌道上……使用eclipse-repository 。
要讓Tycho生成存儲庫,您可能正在使用tycho-p2-repository-plugin ...如果您使用的是該插件,則可能需要將此小元素添加到配置部分。
<includeAllDependencies>true</includeAllDependencies>
這是我的p2repository插件中的pom.xml的更大示例。
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>my.domain.product</groupId>
<artifactId>parent</artifactId>
<version>1.1.8-SNAPSHOT</version>
<relativePath>../my.domain.product.parent</relativePath>
</parent>
<artifactId>my.domain.product.p2repository</artifactId>
<packaging>eclipse-repository</packaging>
<name>My Product - P2 Repository</name>
<build>
<plugins>
<plugin>
<groupId>${tycho-groupid}</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<includeAllDependencies>true</includeAllDependencies>
<createArtifactRepository>true</createArtifactRepository>
<compress>true</compress>
</configuration>
</plugin>
</plugins>
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.