Plugins 使用Tycho构建的应用程序中缺少插件jar
我正在用Maven Tycho构建一个Eclipse应用程序。我设法创建了pom文件来构建插件和特性。我在他们身上运行了安装程序,并获得了构建成功。我还为应用程序(产品)创建了pom,并将打包设置为“eclipse应用程序”。该应用程序是基于功能的。我运行了安装并成功地完成了构建。我得到了为应用程序生成的文件夹,其中包含“插件”和“功能”文件夹 问题是并非所有插件的所有jar文件都可以在plugins文件夹中找到。我可以找到特性中列出的插件的jar文件。但是其他插件的Dependencies选项卡中列出的插件的jar文件不会生成。换句话说,只有特性中引用的插件才会生成为jar文件,而插件中引用的插件的jar文件不会生成 显然,没有它们,我无法运行应用程序。我做错了什么?如何生成所有必需的jar文件Plugins 使用Tycho构建的应用程序中缺少插件jar,plugins,maven,jar,tycho,Plugins,Maven,Jar,Tycho,我正在用Maven Tycho构建一个Eclipse应用程序。我设法创建了pom文件来构建插件和特性。我在他们身上运行了安装程序,并获得了构建成功。我还为应用程序(产品)创建了pom,并将打包设置为“eclipse应用程序”。该应用程序是基于功能的。我运行了安装并成功地完成了构建。我得到了为应用程序生成的文件夹,其中包含“插件”和“功能”文件夹 问题是并非所有插件的所有jar文件都可以在plugins文件夹中找到。我可以找到特性中列出的插件的jar文件。但是其他插件的Dependencies选项
谢谢大家! 首先,不要使用
eclipse应用程序
。它已经被弃用,而且,作为一个试图让它与自己的项目一起工作的人,我可以告诉你,这是一个糟糕的想法,因为它有很多问题。相反,请使用eclipse存储库
其次,在productsplugins
目录中显示的唯一.jar文件将是那些已成功编译的文件,它们也位于.product文件的dependencies部分,而不是manifest.mf
我怀疑您的问题与第二点有关,但我已经看到,
eclipse应用程序
做了很多奇怪的事情,单靠它就可以解决您的问题。首先,不要使用eclipse应用程序
。它已经被弃用,而且,作为一个试图让它与自己的项目一起工作的人,我可以告诉你,这是一个糟糕的想法,因为它有很多问题。相反,请使用eclipse存储库
其次,在productsplugins
目录中显示的唯一.jar文件将是那些已成功编译的文件,它们也位于.product文件的dependencies部分,而不是manifest.mf
我怀疑您的问题与第二点有关,但我看到eclipse应用程序做了很多奇怪的事情,单靠它就可以解决您的问题。第一个答案是正确的。。。使用eclipse存储库 要让Tycho生成存储库,您可能正在使用Tycho-p2-repository-plugin。。。如果您正在使用该插件,那么您可能需要将这个小元素添加到配置部分
<includeAllDependencies>true</includeAllDependencies>
true
下面是我的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>
4.0.0
我的域名产品
父母亲
1.1.8-快照
../my.domain.product.parent
my.domain.product.p2存储库
eclipse存储库
我的产品-P2存储库
${tycho groupid}
tycho-p2-repository-plugin
${tycho版本}
真的
真的
真的
希望这有帮助。第一个答案是正确的。。。使用eclipse存储库 要让Tycho生成存储库,您可能正在使用Tycho-p2-repository-plugin。。。如果您正在使用该插件,那么您可能需要将这个小元素添加到配置部分
<includeAllDependencies>true</includeAllDependencies>
true
下面是我的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>
4.0.0
我的域名产品
父母亲
1.1.8-快照
../my.domain.product.parent
my.domain.product.p2存储库
eclipse存储库
我的产品-P2存储库
${tycho groupid}
tycho-p2-repository-plugin
${tycho版本}
真的
真的
真的
希望这有帮助