6

Eclipse Indigo RCPとを使用してアプリケーションをコンパイルしようとしていMavenますTycho。1つのプラットフォーム用にビルドするだけで問題なく動作しますが、さらにビルドしようとすると、ビルドが機能しなくなります。

問題は、ビルドしたい製品ファイルにプラットフォーム固有のプラグインがあることです。org.eclipse.swt.win32.win32.x86のフラグメントプラグインのような依存関係org.eclipse.swt
プラットフォーム固有のフラグメントを製品に追加しないと、org.eclipse.swt.win32.win32.x86のようなプラットフォームライブラリがないため、アプリケーションが起動しません。Tychoリポジトリとして、独自のサーバーでホストされているeclipseindigo更新サイトのクローンを使用します。デルタパックが含まれています。また、すべてのプラットフォームのすべてのフラグメントを追加すると、ビルドがクラッシュし、Mavenは、プラットフォームフィルターがLinuxビルドなどと一致しなかったことを通知します。

誰かがこれを修正する方法を知っていますか?
これらのプラットフォームに依存するものを製品に追加する必要がありますか?特定の依存関係を製品から除外したいのですが、正しいですか?

4

2 に答える 2

7

プラグインベースの製品をお持ちのようです。この場合、.productファイルを手動で編集し、これらのプラグインのプラットフォームフィルターを追加する必要があります。残念ながら、Eclipseに組み込まれている製品エディターはこれらの値を公開しません。http://wiki.eclipse.org/Tycho/FAQ#How_to_build_plugin-based_products_with_platform-specific_fragments.3Fを参照してください

プラグインごとに、たとえばorg.eclipse.swt.win32.win32.x86のように、次のようなものを追加する必要があります。

<plugin id="org.eclipse.swt.win32.win32.x86" fragment="true" ws="win32" os="win32" arch="x86"/>

製品エディタを使用すると、これらの値が削除されることに注意してください。

ただし、機能ベースの製品を使用することをお勧めします。機能エディタでは、これらのフィールドを編集できます。

于 2012-11-21T15:53:29.580 に答える
1

私がブログで見つけたより簡単な解決策があります:http://blog.sdruskat.net/building-a-cross-platform-feature-based-eclipse-rcp-product-with-tycho-the-umpteenth/

親/マスターpom.xmlで、p2のすべてのプラグインを使用するには、次のように指定します。

<build>
 <plugins>
  <plugin>
    <groupId>org.eclipse.tycho</groupId>
    <artifactId>tycho-maven-plugin</artifactId>
    <version>${tycho-version}</version>
    <extensions>true</extensions>
  </plugin>

  <plugin>
    <groupId>org.eclipse.tycho</groupId>
    <artifactId>target-platform-configuration</artifactId>
    <version>${tycho-version}</version>
    <configuration>
       <resolver>p2</resolver>
        <environments>
          <environment>
            <os>linux</os>
            <ws>gtk</ws>
            <arch>x86_64</arch>
          </environment>
          <environment>
            <os>win32</os>
            <ws>win32</ws>
            <arch>x86_64</arch>
          </environment>
        </environments>
    </configuration>
  </plugin>
 </plugins>
</build>

私のタイコバージョンは0.21.0です

于 2014-11-15T19:03:51.947 に答える