我能够按照这里的教程并将其转换为 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)
任何帮助都非常受欢迎!
编辑: 代码可在此处获得。