我有一个程序,我在Eclipse上用Ubuntu编写。我将程序导出到一个可运行的.Jar中,它在Linux系统上运行良好。如果我尝试在Windows系统上使用它,我会收到与两个SWT .Dll文件相关的UnsatisfiedLinkError。我一直试图通过在命令行输入来打开它:
java -jar <filename>.Jar`
有没有办法可以将这些.Dll文件打包到可运行的.Jar中?我之前从未遇到过这个错误所以我真的不知道该怎么做。非常感谢任何帮助。
答案 0 :(得分:2)
我使用SWTJar解决了这个问题。
SWT是一个Java小部件工具包,提供对本机UI元素的访问。这在打包应用程序时会出现问题,因为您需要为每个平台(Windows / Linux / OSX)/(32/64位)包含不同的SWT jar。为了支持所有这些标准平台,你必须构建和分发6个不同的软件包,这些软件包实际上并不符合Java编写的精神,只能在任何地方运行。
工作原理:
SWTJar是一个ant任务,它允许你构建一个jar,它在运行时加载正确的SWT类,允许你分发一个可以工作的jar(Windows / Linux / OSX)/(32/64bit)。
以防万一其他人遇到这个问题! :)
答案 1 :(得分:0)
我认为您需要关注these steps。根据它们的措辞,听起来像runnable jar只适用于单个目标平台,尽管它可以是任何支持的平台。