ビルド システムを Ant から Maven に移行しており、現在 Eclipse プラグインの構築に取り組んでいます。いくつかの調査を行った後、Tycho Maven プラグインを使用してビルドを行うことにしました。簡単ではありませんでしたが、この問題を除いてほとんどの問題を解決しました。
依存プラグインをビルドしようとすると、エラーが発生しました。いくつかのプラグイン A と、A に依存する (A のクラスを使用する) プラグイン B があるとします。これらのプラグインはどちらもマニフェスト ファーストです (そして があります<packaging>eclipse-plugin</packaging>
)。
「B」をビルドしようとすると、次のビルド エラーが発生しました。
[ERROR] Access restriction: The type Constants is not accessible due to restriction on class pathentry C:/maven/repository/...
私はすべてを何度もチェックしましたが、後になって初めて、リポジトリ内のA.jarのMANIFEST.MFを確認する必要があることに気付きました。何らかの理由で、プラグインAの MANIFEST-MF から削除されました。不足しているエクスポートを手動でローカル Maven リポジトリの MANIFEST.MF に追加したところ (これが本当の問題であることを確認するためです!)、プラグインBのビルドが成功しました!Export-Package
問題は、ビルドされたプラグインで Export-Packageを削除しないように Tycho を構成する方法 (またはエクスポートするパッケージを構成する方法) です。