Я пытаюсь запустить jar-приложение под Ubuntu, поэтому я установил OpenJDK Java 7 Runtime, но при открытии этого приложения я получил следующее сообщение:
Файл /home/aimad/Programms/jMerise/JMerise.jar не помечен как исполняемый. Если это было загружено или скопировано из ненадежного источника, запуск может быть опасным. Для более подробной информации читайте об исполняемом бите.
Прежде всего вам необходимо убедиться, что в вашей системе установлена подходящая среда выполнения Java. Ubuntu имеет официальный репозиторий openjdk, который на 99,99% совместим с Oracle Java, для его установки:
sudo apt-get install openjdk-7-jre
Затем создайте файл с именем
java-jar-launcher.desktop
in~/.local/share/applications
и поместите в него следующее содержимое:Затем добавьте следующую строку в
~/.local/share/applications/mimeapps.list
:application/x-java-archive=java-jar-launcher.desktop;
Теперь у вас должна быть возможность просто дважды щелкнуть файлы JAR, чтобы запустить их, если ничего не происходит, щелкните правой кнопкой мыши файл JAR, выберите свойства, затем перейдите на вкладку «Открыть с помощью» и там вы должны увидеть «Launcher Java Application», выберите это ,
Этот метод предпочтителен (IMHO), потому что таким образом вы не даете разрешения на выполнение файлов JAR, которые могут быть потенциально опасными. Этот метод будет работать только в графической среде, и пользователю необходимо вручную дважды щелкнуть файл.
источник
Так как вы запускаете приложение jar с
java -jar application.jar
этим, это означает, что Java находится на вашем пути. Вам нужны две простые вещи: 1) добавить интерпретатор (который, по-видимому, есть#!java -jar
) в первой строке вашего jar-файла, как вы делаете это с помощью сценариев оболочки:echo '#!java -jar' > app.jar cat application.jar >> app.jar mv app.jar application.jar
Если вы отследите содержимое вашего jar-файла, то увидите, что он начинается с примера:
#!java -jar PK ^lN BOOT-INF/PK ..... .....
2) добавьте атрибут execute,chmod +x application.jar
нажав Теперь вы можете «запустить» его через./application.jar
.источник
Если работает файл .jar из командной строки, работает (
java -jar myFile.jar
), но двойной щелчок по нему в графическом интерфейсе не дает, и, еслиsudo chmod +x myFile.jar
кажется, что это успешно, но вы все равно не можете открыть с помощью двойного щелчка, и если щелкнуть правой кнопкой мыши на .jar file> Properties> Permissions> «Разрешить выполнение файла как программы» не работает (т. е. флажок переключается обратно сразу после его нажатия), тогда, вероятно, файл .jar находится в файловой системе NTFS, которая не позволяет выполнять разрешения на для каждого файла. (Эта проблема может возникать, например, при двойной загрузке и наличии общего раздела NTFS между Ubuntu и Windows).Создание модуля запуска (как описывает @ tusharkant15) будет работать, потому что вы выполняете за кулисами
/usr/bin/java
, а не сам файл .jar. Перемещение файла .jar в другую файловую систему, отличную от NTFS, также будет работать.источник