定义swt-win32.dll和swt-win32-XXXX.dll的导出路径

时间:2013-07-05 06:27:56

标签: java swt jnlp unsatisfiedlinkerror

我们在某些用户PC上启动SWT应用程序时遇到了问题。应用程序通过JNLP部署。 一开始

java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-win32-4234 in java.library.path
no swt-win32 in java.library.path
Can't load library: C\Users\userprofile\swt-win32-4234.dll
Can't load library: C\Users\userprofile\swt-win32.dll

occures。将这些文件复制到指定的文件夹没有帮助。我们怀疑,由于存在较旧的用户配置文件,可能发生了错误,但它甚至发生在没有这些错误的PC上。

有没有办法手动指定这些库的提取位置,从而确保找到它们?

感谢。

2 个答案:

答案 0 :(得分:0)

版本高达3.2及以下版本都受此问题的影响。这可以通过在\ libswt \ win32中添加64位swt.jar来替换32位来解决。

实现此目的的更好方法是在libswt中创建win64目录,将swt.jar文件复制到此处并修改.bat脚本。例如,在spoon.bat中找到以下行:

设置CLASSPATH =%CLASSPATH%; libswt \ win32 \ swt.jar

并将其更改为

设置CLASSPATH =%CLASSPATH%; libswt \ win64 \ swt.jar

答案 1 :(得分:0)

[引自“Pete”@ http://www.eclipse.org/forums/index.php/t/229186/ ]

有相同的初始问题,最后按...排序......

右键单击项目并转到“属性”

在Projects选项卡下的Java Build Path中有关联的Project,在我的例子中是org.eclipse.swt.win32.win32.x86

向左展开,左侧的小箭头显示选项。在这里,我找到了Native Library Locations。这没有设置,所以我选择它并单击编辑。

在随后的Popup窗口中,我选择了Workspace,然后选择了org.eclipse.swt.win32.win32.x86。

下次我上课时,它运作正常。

我希望这有助于某人!