Java 我是否需要以不同的方式导出.jar以在不同的平台上运行?
我有一个Java 我是否需要以不同的方式导出.jar以在不同的平台上运行?,java,eclipse,swt,portability,Java,Eclipse,Swt,Portability,我有一个.jar,我在Windows上编译并通过Eclipse导出了它。它运行非常完美,现在我希望在Solaris 10机器上运行它 然而,当我尝试在Solaris上运行它时,我得到一个java.lan.unsatifiedLinkError抱怨它无法加载SWT库 Exception in thread "main" java.lang.UnsatisifiedLinkError: Could not load SWT library. Reasons: no swt-win32-3650 i
.jar
,我在Windows上编译并通过Eclipse导出了它。它运行非常完美,现在我希望在Solaris 10
机器上运行它
然而,当我尝试在Solaris上运行它时,我得到一个java.lan.unsatifiedLinkError
抱怨它无法加载SWT
库
Exception in thread "main" java.lang.UnsatisifiedLinkError: Could not load SWT library. Reasons:
no swt-win32-3650 in java.library.path
no swt-win32 in java.library.path
Can't load library: /var/tmp/swtlib-64/libswt-win32-3650.so
Can't load library: /var/tmp/swtlib-64/libswt-win32-3650.so
为什么Java
在寻找libswt-win32
库?我是否创建了.jar
错误
当我在
Windows
上构建时,是否需要以不同的方式导出.jar
,因为它现在打算从Solaris
上运行 SWT有一个本机组件。我想你是在用它里面的东西把它包括进去。您需要在Solaris系统上安装等效的本机库
看看这里的解决方案,它在Ubuntu上,但问题类似:
我以前看过这些答案,但没有一个与我的问题真正相关。我的问题是一个平台问题,而这个问题的问题是一个加载问题(即,解决方案只是将java正在寻找的地方符号链接到它应该寻找的地方)。每个平台都需要一个单独的jar,其中包含特定于平台的SWT版本。看见