1

こちらのチュートリアルに従って、Maven アプリケーションに変換することができました。

ロード部分は正しくできましたが、使用しようとすると、適切なswtクラスが見つかりません(Windows 64から実行した場合)。私はMavenプロジェクトでそれをしました。Windows 64 モジュールのそれぞれの pom の関連部分は次のとおりです。

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>nbm-maven-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <!-- To have the jar plugin pickup the nbm generated manifest -->
                    <useDefaultManifestFile>true</useDefaultManifestFile>
                    <moduleType>normal</moduleType>
                    swt.windows.64/1</codeNameBase>
                    <publicPackages>
                        <publicPackage>org.eclipse.swt</publicPackage>
                    </publicPackages>
                </configuration>
            </plugin>

org.eclipse.swt.* に変換します。すでに正しいモジュールからロードしようとしているため、Maven モジュールの問題のようです。

Caused: java.lang.ClassNotFoundException: org.eclipse.swt.SWT starting from ModuleCL@25e0dee5[djproject.core] with possible defining loaders [ModuleCL@6783113b[swt.windows.64]] and declared parents [ModuleCL@32821bf7[org.netbeans.api.annotations.common]]

Caused: java.lang.NoClassDefFoundError: org/eclipse/swt/SWT
    at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.initialize_(SWTNativeInterface.java:213)
    at chrriis.dj.nativeswing.swtimpl.NativeInterface.initialize(NativeInterface.java:71)
    at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.open_(SWTNativeInterface.java:337)
    at chrriis.dj.nativeswing.swtimpl.NativeInterface.open(NativeInterface.java:100)
    at synamicd.windows64.support.Windows64BrowserProvider.initialize(Windows64BrowserProvider.java:25)

どんな助けも大歓迎です!

編集: コードはこちらから入手できます。

4

1 に答える 1

1

bitbucket の場所でアプリケーションをビルドしようとすると、そのビルド順序は、swt モジュールがアプリで使用されていないことを示唆しています - http://screencast.com/t/LMxIPy6A6ZUL

于 2012-12-22T07:37:18.970 に答える