Как я могу сделать исполняемый файл .jar?

Я пытаюсь запустить jar-приложение под Ubuntu, поэтому я установил OpenJDK Java 7 Runtime, но при открытии этого приложения я получил следующее сообщение:

Файл '/ home / aimad /Programms/jMerise/JMerise.jar 'не помечен как исполняемый. Если это было загружено или скопировано из ненадежного источника, запуск может быть опасным. Для получения более подробной информации читайте о исполняемом бите.

11
задан 20 March 2013 в 03:16

5 ответов

Вы всегда можете запустить файл jar, выполнив java -jar JMerise.jar.

Однако, чтобы сделать сам файл jar исполняемым, вам нужно установить исполняемый бит, как подсказывает сообщение. chmod +x /home/aimad/Programms/jMerise/JMerise.jar выполнит это.

После этого вы можете сделать ./JMerise.jar, чтобы запустить его.

man chmod предоставит вам информацию о том, как работает chmod.

Также см .: https://wiki.ubuntu.com/Security/ExecutableBit

.
0
ответ дан 20 March 2013 в 03:16

Щелкните правой кнопкой мыши файл, выберите «Свойства», затем перейдите на вкладку «Разрешения» и установите флажок «Разрешить выполнение этого файла как программы».

enter image description here

0
ответ дан 20 March 2013 в 03:16

Поскольку вы запускаете приложение 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.

0
ответ дан 20 March 2013 в 03:16

Сначала вам нужно убедиться, что в вашей системе имеется подходящая среда выполнения Java. В официальном репозитории Ubuntu есть openjdk, который на 99,99% совместим с Oracle Java, для его установки введите:

sudo apt-get install openjdk-7-jre

Далее создайте файл с именем java-jar-launcher.desktop в ~/.local/share/applications и поместите следующее содержание в нем:

[Desktop Entry]
Type=Application
Name=Java Application Launcher
Icon=java
Exec=/usr/bin/java -jar %U
Categories=Application;Java
Terminal=False

Затем добавьте следующую строку в ~/.local/share/applications/mimeapps.list:

application/x-java-archive=java-jar-launcher.desktop;

Теперь вы сможете просто дважды щелкнуть банку файлы, чтобы запустить их, если ничего не происходит, щелкните правой кнопкой мыши файл JAR, выберите свойства, затем перейдите на вкладку «Открыть с помощью» и там вы должны увидеть «Java Application Launcher», выберите его.

Этот метод предпочтителен (IMHO), потому что таким образом вы не даете разрешения на выполнение файлов JAR, которые могут быть потенциально опасными. Этот метод будет работать только в графической среде, и пользователю необходимо вручную дважды щелкнуть файл.

0
ответ дан 20 March 2013 в 03:16

Если запуск файла .jar из командной строки работает (java -jar myFile.jar), но двойной щелчок по нему в графическом интерфейсе не удастся, и если sudo chmod +x myFile.jar кажется успешным, но вы все равно не можете открыть с помощью двойного щелчка и если щелкнуть правой кнопкой мыши файл .jar> Свойства> Разрешения> «Разрешить выполнение файла как программы» не работает (т. е. флажок переключается обратно сразу после его щелчка), то, вероятно, файл .jar находится в файле NTFS система, которая не позволяет выполнять разрешения для отдельных файлов. (Эта проблема может возникать, например, при двойной загрузке и наличии общего раздела NTFS между Ubuntu и Windows).

Создание модуля запуска (как описывает @ tusharkant15) будет работать, потому что за кулисами вы выполняете /usr/bin/java, а не сам файл .jar. Перемещение файла .jar в другую файловую систему, отличную от NTFS, также будет работать.

0
ответ дан 20 March 2013 в 03:16

Другие вопросы по тегам:

Похожие вопросы: