由于缺少 e4 RCP 应用程序的包 "org.eclipse.equinox.p2.reconciler.dropins",Tycho 构建失败

Tycho build fails due to missing bundle "org.eclipse.equinox.p2.reconciler.dropins" for an e4 RCP application

我对第谷很陌生。我将现有的 e4 RCP 应用程序更改为基于 Tycho Maven 的构建。虽然我从 Eclipse IDE 的正常导出工作正常,但使用 Tycho 我遇到以下错误。

  Cannot complete the install because one or more required items could    not be found.
  Software being installed: Chartcube Database Connector 1.0.0.201601060933 (**.**.demo.product 1.0.0.201601060933)
  Missing requirement: toolingwin32.win32.x86_64org.eclipse.equinox.p2.reconciler.dropins 1.0.0.201601060933 requires 'bundle org.eclipse.equinox.p2.reconciler.dropins 1.1.300.v20150423-1455' but it could not be found
   Cannot satisfy dependency:
   From: **** ****. 1.0.0.201601060933 (com.*****.*****.demo.product 1.0.0.201601060933)
   To: toolingcom.toolingcom.****.****.demo.product.configuration [1.0.0.201601060933]
  Cannot satisfy dependency:
  From: toolingcom.****.****.demo.product.configuration 1.0.0.201601060933
   To: toolingwin32.win32.x86_64org.eclipse.equinox.p2.reconciler.dropins [1.0.0.201601060933]
  Application failed, log file location: /home/****/.log

我的聚合器 pom 文件如下:

<?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>
  <groupId>group</groupId>
  <artifactId>artifact</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <modules>
    <module>ChartCubeDemo</module>
  </modules>

  <properties>
    <tycho.version>0.24.0</tycho.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
    <mars-repo.url>http://download.eclipse.org/releases/mars</mars-repo.url>
    <nebula-repo.url>http://download.eclipse.org/nattable/releases/1.3.0/repository/</nebula-repo.url>
    <orbit-repo.url>http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository/</orbit-repo.url>
  </properties>

  <repositories>
    <repository>
      <id>mars</id>
      <url>${mars-repo.url}</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>nebula</id>
      <url>${nebula-repo.url}</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>orbit</id>
      <url>${orbit-repo.url}</url>
      <layout>p2</layout>
    </repository>

  </repositories>

  <build>
     <plugins>

        <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <version>0.24.0</version>
            <configuration>
                <environments>
                    <environment>
                        <os>win32</os>
                        <ws>win32</ws>
                        <arch>x86_64</arch>
                    </environment>
                    <environment>
                        <os>linux</os>
                        <ws>gtk</ws>
                        <arch>x86_64</arch>
                    </environment>
                    <environment>
                        <os>macosx</os>
                        <ws>cocoa</ws>
                        <arch>x86_64</arch>
                    </environment>
                </environments>
            </configuration>
        </plugin>


        <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-maven-plugin</artifactId>
            <version>0.24.0</version>
            <extensions>true</extensions>
        </plugin>
     </plugins>
  </build>
</project>

我的产品文件是:

<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>group</groupId>
    <artifactId>artifact</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <groupId>group</groupId>
  <artifactId>artifact</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>eclipse-repository</packaging>


  <build>
        <plugins>
            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-p2-director-plugin</artifactId>
                <version>0.24.0</version>
                <configuration>
                    <formats>
                        <win32>zip</win32>
                        <linux>tar.gz</linux>
                        <macosx>tar.gz</macosx>
                    </formats>
                </configuration>
                <executions>
                    <execution>
                        <id>materialize-products</id>
                        <goals>
                            <goal>materialize-products</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>archive-products</id>
                        <goals>
                            <goal>archive-products</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

有什么我想念的吗?我是否需要在这些 POM 文件中添加任何额外的内容?

此外,我的 .Product 文件具有以下配置:

     <configurations>
      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.p2.reconciler.dropins" autoStart="true" startLevel="0" />
      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
      <plugin id="org.eclipse.update.configurator" autoStart="true" startLevel="4" />
   </configurations>

您显示的是产品的启动配置,而不是产品的内容。我假设 org.eclipse.equinox.p2.reconciler.dropins 插件不是您产品的一部分。如果您有基于功能的产品,则需要确保此插件也在其中一项功能中。

另一种选择是将其从您的启动配置中删除。我假设它是通过按钮添加默认值来添加的,但这不是必需的。