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

Java 定义swt-win32.dll和swt-win32-XXXX.dll的导出路径,java,swt,jnlp,unsatisfiedlinkerror,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'

我们在某些用户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
发生了。将这些文件复制到指定文件夹没有帮助。我们怀疑,该错误可能是由于存在较旧的用户配置文件而发生的,但它甚至发生在没有这些配置文件的PC上

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


谢谢。

3.2之前及之后的版本都存在此问题。通过在\libswt\win32中添加一个64位swt.jar来替换32位swt.jar,可以解决这个问题

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

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

并将其更改为

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

[引用自“皮特”@]

有相同的初始版本,并最终按

右键单击项目并转到属性

在项目选项卡下的Java构建路径中,有一个关联的项目,在我的例子中是org.eclipse.swt.win32.win32.x86

用向左的小箭头向下展开此选项以显示选项。在这里,我找到了本地图书馆的位置。这没有设置,所以我选择了它并单击了“编辑”

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

下次我上课的时候,它很好


我希望这对别人有帮助

在DLL上运行dependens.exe,查看是否缺少依赖项这些用户使用64位操作系统吗?Java运行时?其他用户呢?您是否有位不匹配?嗯,在我们公司,32位和64位系统都使用,但只有32位Java。大多数用户没有任何问题,但只有少数人有这个问题。实际上,我在相关项目下没有任何问题。jar内置于产品jar中。