私は Tycho を使い始めたばかりで、早い段階で困惑しています。多分私は何かを誤解しているかもしれませんので、念のため、これが私が期待していることです: OSGi スタイル (つまりMANIFEST.MF
via Import-Package
) でバンドルのニーズを定義し、Tycho は何らかの方法でその情報をその場で使用し、すべてを再定義する必要はありません。 Maven スタイル (つまり、依存関係を pom.xml に入れる必要はありません)。
そこで、Eclipse で m2eclipse プラグイン、m2eclipse-tycho アドオン、および PDE プラグインを使用して単純な Maven プロジェクトを作成し、次の Tycho のものを pom に入れました。
<properties>
<tycho-version>0.15.0</tycho-version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
奇妙な構成エラーに苦労し、最終的に Eclipse でエラーや警告を出さない、本質的に空のプロジェクト (つまり、ソース コードがない) を取得しました。次に、別のプロジェクトからソース コードをコピーしたところ、(予想どおり) 依存関係が見つからないために多数のコンパイラ エラーが発生しました。最初のものは org.jboss.netty.channel からの AbstractChannel でした。私は Netty のバージョン 3.5.1.Final を使用しているので、MANIFEST.MF を編集して以下を含めました。
Import-Package: org.jboss.netty.channel;version="[3.5.1,4)"
次に、Tycho が魔法のように Netty が必要であることを理解し、Maven の pom.xml に次のようなものを挿入したかのように振る舞うことを期待していました。
<dependency>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
<version>3.5.1.Final</version>
</dependency>
代わりに、Eclipse で 1 つの余分なエラーが発生しただけでした。
Unsatisfied constraint: 'Import-Package: org.jboss.netty.channel;version="[3.5.1,4.0.0)"
ここからどこへ行けばいいのかわからない。Tycho が何をすべきかについて根本的な誤解がありますか? Import-Package
または、エントリMANIFEST.MF
から<dependency>
pom.xmlエントリへの「魔法の」変換を実行できるようにするために、他に設定する必要があるものはありますか? または、他の何か?
前もって感謝します。