Java .jar не работает на Windows - PullRequest
1 голос
/ 24 июля 2011

Я занимаюсь разработкой с использованием Eclipse под Fedora 15. Я экспортировал работающий jar . Он отлично работает в Fedora. Но я не могу запустить его на окнах. Я установил 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\Артоюрос>

Ответы [ 4 ]

2 голосов
/ 24 июля 2011

Как сказал @a_horse_with_no_name, "откройте командную строку и запустите java -jar your.jar".Если это работает, вы должны отобразить расширение * .jar на программу с именем "java".Вот как работают окна.Тот же механизм работает, когда двойной щелчок по файлу * .txt запускает Блокнот.

Поскольку я сейчас нахожусь на Linux, я не могу рассказать вам, как сопоставить расширение программе, но оно находится где-то в меню проводника.

1 голос
/ 24 июля 2011

Существует проблема с SWT DLL.

  1. проверить, существует ли файл C: \ Users \ ■└ЄЄ ■ Ёюё.swt \ lib \ win32 \ x86 \ swt-gtk.dll
  2. Может быть, вы не можете загрузить его, потому что у вас нет прав администратора? затем Перейдите к пути установки Eclipse, щелкните правой кнопкой мыши файл eclipse.exe и выберите «Свойства». Во всплывающем окне «Свойства eclipse.exe» выберите вкладку «Совместимость», а в нижней части вкладки установите флажок «Запускать программу от имени администратора» в категории «Уровень привилегий». Это должно решить проблему.
  3. Иногда помогает просто добавить dll в папку lib
1 голос
/ 24 июля 2011

вы можете ссылаться на ресурс, используя абсолютный путь ... поскольку вы говорите, что разработали приложение для Linux. вы могли бы сказать new File("/etc/fstab"); .. это не получится в Windows, так как у него нет такой файловой системы.

Обычно это так.

1 голос
/ 24 июля 2011

это должен быть работающий фляга, так что вы можете запустить его в Windows двойным щелчком мыши.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...