org.eclipse.swt
拡張機能をフラグメントとして作成したい。swt.extension
次の MANIFEST.MFでバンドルを作成しました。
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Extension
Bundle-SymbolicName: swt.extension
Bundle-Version: 1.0.0.qualifier
Fragment-Host: org.eclipse.swt;bundle-version="3.102.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
また、SWT からインターフェイスを拡張するインターフェイスを作成しました。
public interface IExtendedStyleTextContent extends org.eclipse.swt.custom.StyledTextContent {
}
プロジェクトを tycho ( mvn clean install
) でビルドすると、次のエラーが発生します。
1. ERROR in C:\<path>\tycho-fragment-to-fragment-dependency\swt.extension\src\org\example\tycho_example\IExtendedStyleTextContent.java (at line 3)
public interface IExtendedStyleTextContent extends org.eclipse.swt.custom.StyledTextContent {
^^^^^^^^^^^
org.eclipse cannot be resolved to a type
tycho は org.eclipse.swt jar のみを解決するようです。これはホスト バンドルであり、クラスは含まれていません。実際の実装は org.eclipse.swt.win32.win32.x86_64 フラグメント バンドルにあります。そして、tycho-compiler-plugin がプロジェクトをコンパイルするとき、このバンドルはクラスパス上にないように見えます。
これは Tycho のバグですか?回避策はありますか?
すべてのソースを GitHub に置きました: https://github.com/orionll/tycho-fragment-to-fragment-dependency
私はMaven 3.1.0を使用しています