1

Maven Tycho を使用して Eclipse アプリケーションを構築しています。プラグインと機能を構築するための pom ファイルを作成することができました。それらにインストールを実行し、ビルドが成功しました。また、アプリケーション (製品) の pom を作成し、Packaging を「eclipse-application」に設定しました。アプリケーションは機能ベースです。インストールを実行し、ビルドが成功しました。「plugins」および「features」フォルダーを含む、アプリケーション用に生成されたフォルダーを取得しました。

問題は、すべてのプラグインのすべての jar ファイルが plugins フォルダーにあるとは限らないことです。機能にリストされているプラ​​グインの jar ファイルを見つけることができます。ただし、他のプラグインの [依存関係] タブにリストされているプラ​​グインの jar ファイルは生成されません。つまり、機能で参照されるプラグインのみが jar ファイルとして生成され、プラグインで参照されるプラグインの jar ファイルは生成されません。

明らかに、それらなしではアプリケーションを実行できません。私は何を間違っていますか?必要なすべての jar ファイルを生成するにはどうすればよいですか?

ありがとうございました!

4

2 に答える 2

1

まず、を使用しないでくださいeclipse-application。それは非推奨になりました、そしてそれを彼自身のプロジェクトで機能させようとした人であるため、それは多くの問題を抱えているので悪い考えだと言うことができます。代わりに、を使用してeclipse-repositoryください。

次に、productsディレクトリに表示される.jarファイルは、正常にコンパイルされたものだけであり、manifest.mfではなくplugins.productファイルの依存関係セクションにもあります。

あなたの問題は2番目のポイントに関連していると思いますがeclipse-application、それだけで問題が解決する可能性があるほど多くの奇妙なことをしているのを見てきました。

于 2012-04-11T15:04:32.143 に答える
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>

お役に立てれば。

于 2012-05-01T15:02:13.230 に答える