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