【发布时间】:2013-04-10 12:57:37
【问题描述】:
我有一个 java webstart 应用程序,它使用 swt 作为界面(包括 DJ Native Swing)。该应用程序在 Windows 上运行良好,直到我尝试将 linux 和 mac osx swt jar 添加到应用程序以支持这些平台。当从 netbeans 启动时,应用程序在 linux 下运行良好,只链接了正确的 jar,但是在任何平台上通过 java webstart 启动应用程序时,似乎加载了错误的 jar 文件。
这就是我在 launch.jnlp 中的内容(以及其他内容):
<resources os="Windows" arch="x86">
<j2se java-vm-args="-Xmx512m" version="1.5+"/>
<jar href="lib/swt-win32-x86.jar"/>
<nativelib href="lib/swt-win32-x86.jar"/>
</resources>
<resources os="Windows" arch="x86_64">
<j2se java-vm-args="-Xmx512m" version="1.5+"/>
<jar href="lib/swt-win32-x86_64.jar"/>
<nativelib href="lib/swt-win32-x86_64.jar"/>
</resources>
<resources os="Windows" arch="amd64">
<j2se java-vm-args="-Xmx512m" version="1.5+"/>
<jar href="lib/swt-win32-x86_64.jar"/>
<nativelib href="lib/swt-win32-x86_64.jar"/>
</resources>
<resources os="Linux" arch="i386">
<j2se java-vm-args="-Xmx512m" version="1.5+"/>
<jar href="lib/swt-linux-x86.jar"/>
<nativelib href="lib/swt-linux-x86.jar"/>
</resources>
<resources os="Linux" arch="amd64">
<j2se java-vm-args="-Xmx512m" version="1.5+"/>
<jar href="lib/swt-linux-x86_64.jar"/>
<nativelib href="lib/swt-linux-x86_64.jar"/>
</resources>
<resources os="Mac OS X" arch="x86_64">
<j2se java-vm-args="-XstartOnFirstThread -Xmx512m" version="1.5+"/>
<jar href="lib/swt-macos-x86_64.jar"/>
</resources>
<resources os="Mac OS X" arch="x86">
<j2se java-vm-args="-XstartOnFirstThread -Xmx512m" version="1.5+"/>
<jar href="lib/swt-macos.jar"/>
</resources>
如果我理解正确,这应该会导致在 Windows(取决于拱门)上只加载 swt-win32-x86.jar。但是,当我在 windows 7 64 位上启动应用程序时,但使用 32 位 jvm 时,我收到以下错误: NativeSwing[1]:原因:java.lang.UnsatisfiedLinkError:无法加载 SWT 库。原因: NativeSwing [1]:java.library.path 中没有 swt-gtk-4234 NativeSwing[1]:java.library.path 中没有 swt-gtk NativeSwing[1]:无法加载库:C:\Users\dolf.swt\lib\win32\x86\swt-gtk-4234.dll NativeSwing[1]:无法加载库:C:\Users\dolf.swt\lib\win32\x86\swt-gtk.dll
当然,在 Windows 上找不到 swt-gtk,它应该只在 Linux 上需要。如果我在 java 的临时 Internet 文件查看器下的 java 控制面板中检查资源,我确实看到 swt-linux-x86.jar 和 swt-win32-x86.jar 都已被 java webstart 下载。很明显,java webstart 正在下载错误的 jar 文件。
我希望有人知道为什么会出错。
【问题讨论】:
-
“干杯,Dolf。” 那是 4 行噪音。留下签名。出问题了。 2) “为什么会出错?” 是一个可以从大量单词中推断出来的问题。那是你的问题吗?如果是这样,请将其添加为edit,交替形成一个明确的问题并将其编辑到..question中。
标签: java swt java-web-start