2

我有一个我在 Ubuntu 上的 Eclipse 中编写的程序。我将程序导出到一个可运行的 .Jar 中,它在 Linux 系统上运行良好。如果我尝试在 Windows 系统上使用它,我会收到与两个 SWT .Dll 文件相关的 UnsatisfiedLinkError。我一直在尝试通过在命令行中输入来打开它:

java -jar <filename>.Jar`

有没有办法可以将这些 .Dll 文件打包到可运行的 .Jar 中?我以前从未遇到过这个错误,所以我真的不知道该怎么办。很感谢任何形式的帮助。

4

2 回答 2

2

我通过使用SWTJar解决了这个问题。

SWT 是一个 Java 小部件工具包,提供对本机 UI 元素的访问。这在打包应用程序时会出现问题,因为您需要为每个平台 (Windows/Linux/OSX)/(32/64bit) 包含不同的 SWT jar。为了支持所有这些标准平台,您必须构建和分发 6 个不同的包,这并不真正符合 Java 的一次编写,随处运行的精神。

这个怎么运作:

SWTJar 是一个 ant 任务,它允许您构建一个在运行时加载正确 SWT 类的单个 jar,从而允许您分发一个跨 (Windows/Linux/OSX)/(32/64bit) 工作的单个 jar。

以防万一其他人遇到这个问题!:)

于 2012-05-28T15:07:57.870 回答
0

我认为您需要遵循这些步骤。根据它们的措辞,听起来可运行 jar 仅适用于单个目标平台,尽管它可以是任何受支持的平台。

于 2012-05-28T13:06:56.710 回答