使用Tycho构建的应用程序中缺少插件JAR

时间:2012-04-03 12:00:55

标签: plugins maven jar tycho

我正在使用Maven Tycho构建Eclipse应用程序。我设法创建用于构建插件和功能的pom文件。我在他们上运行安装并使Build成功。我还为应用程序(产品)创建了pom,并将Packaging设置为“eclipse-application”。该应用程序是基于功能的。我运行安装并获得Build成功。我获得了应用程序的生成文件夹,其中包含文件夹“plugins”和“features”。

问题是并非所有插件的jar文件都可以在plugins文件夹中找到。我可以找到功能中列出的插件的jar文件。但是不会生成其他插件的Dependencies选项卡中列出的插件的jar文件。换句话说,只有功能中引用的插件才会生成为jar文件,而插件中引用的插件的jar文件不会生成。

显然,没有它们我就无法运行应用程序。我究竟做错了什么?如何生成所有必需的jar文件?

谢谢!

2 个答案:

答案 0 :(得分:1)

首先,请勿使用eclipse-application。它已经被弃用了,而且,作为一个试图让它与自己的项目一起工作的人,我可以告诉你,这是一个糟糕的想法,因为它有很多问题。相反,请使用eclipse-repository

其次,将在您的产品plugins目录中显示的唯一.jar文件将是已成功编译的文件,并且也位于.product文件的依赖项部分中,并且不< / strong>你的manifest.mf。

我怀疑你的问题与第二点有关,但我看到eclipse-application做了很多奇怪的事情,单凭它可以解决你的问题。

答案 1 :(得分:0)

第一个答案是在正确的轨道上......使用 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>

希望这有帮助。