我正在使用Fedora 15下的Eclipse进行开发。我导出了一个可运行的 jar 。它在Fedora中运行良好。但我无法在Windows上运行它。我已经安装了JRE。我甚至尝试过安装JDK。没有错误日志,应用程序只是没有启动。
这是输出
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.
C:\Users\Артоюрос>java -jar C:\Lib.Ru2Epub.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:58)
Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-gtk-3735 in java.library.path
no swt-gtk in java.library.path
Can't load library: C:\Users\└ЁЄю■Ёюё\.swt\lib\win32\x86\swt-gtk-3735.dl
l
Can't load library: C:\Users\└ЁЄю■Ёюё\.swt\lib\win32\x86\swt-gtk.dll
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:285)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:194)
at org.eclipse.swt.internal.C.<clinit>(C.java:21)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:132)
at ru.lib.epub.MainWindow.main(MainWindow.java:28)
... 5 more
C:\Users\Артоюрос>
答案 0 :(得分:2)
由于@a_horse_with_no_name表示“打开命令提示符并运行java -jar your.jar”。如果它工作,你必须将扩展名* .jar映射到名为“java”的程序。这就是Windows的工作原理。当双击* .txt文件启动记事本时,相同的机制正在工作。
由于我现在在linux上,我无法告诉你如何将扩展程序映射到程序,但它位于文件资源管理器的菜单中。
答案 1 :(得分:1)
它应该是一个可运行的jar,因此您可以使用双击在Windows上运行它。
答案 2 :(得分:1)
您可能正在使用绝对路径引用资源..因为您说您在Linux上开发了应用程序。你可能会说new File("/etc/fstab");
..这会在Windows上失败,因为它没有像这样的文件系统。
通常会出现这种情况。
答案 3 :(得分:1)
swt dlls存在问题。