Jpackage linux создает недостаточный файл рабочего столаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Jpackage linux создает недостаточный файл рабочего стола

Сообщение Anonymous »

Я только начал использовать jpackage, и это действительно отличный инструмент. Один единственный шаг снимает с моих плеч много работы. Чем больше меня удивляет то, что выглядит жестко запрограммированным и не может быть настроено?
JPackage автоматически генерирует средство запуска (

Код: Выделить всё

lib/.desktop
), и пакет deb автоматически устанавливает его, чтобы все пользователи могли запустить приложение. Но как только он запускается, в единстве выскакивает еще одна иконка. Я ожидал, что существующий значок помечен как работающий.
Согласно установщику Ubuntu DEB, все приложения Java имеют один и тот же значок, нам просто нужно убедиться, что файл .desktop содержит правильный StartupWMClass. Используя xprop, я обнаружил, что это значение основано на полном имени класса, отвечающего за окно, что имеет абсолютный смысл.
Так как же мне сообщить jpackage, какой StartupWMClass установить в сгенерированном файле . Desktop-файл?
Редактировать: Чтобы дополнить комментарий Бодо, я покажу, как я вызываю jpackage. На самом деле я сам не запускаю командную строку — вместо этого я использую плагин maven, настроенный как:

Код: Выделить всё

com.github.akman
jpackage-maven-plugin


package

jpackage



target
OoliteCommunicator
PLATFORM
${project.version}
Oolite Communicator is an add-on for Oolite to allow multiplayer interaction. (check http://oolite.org)
Hiran
target/classes/com/mycompany/oolitecommunicator/ui/Communicator_Logo_Icon.png
target/dist
OoliteCommunicator-${project.version}.jar
com.mycompany.oolitecommunicator.Main





Во время сборки maven я вижу этот вывод, который, как я полагаю, представляет собой командную строку, сгенерированную внутри, когда плагин вызывает jpackage. Последняя строка может быть уже вызовом, и всякий раз, когда я проверяю после сборки, файл /home/hiran/NetBeansProjects/OoliteCommunicator/target/jpackage.opts отсутствует. Я могу только предположить, что его содержимое было зарегистрировано незадолго до этого.

Код: Выделить всё

# jpackage
--dest /home/hiran/NetBeansProjects/OoliteCommunicator/target
--app-version '1.0-20211220-090022'
--description 'Oolite Communicator is an add-on for Oolite to allow multiplayer interaction. (check http://oolite.org)'
--name 'OoliteCommunicator'
--vendor 'Hiran'
--icon /home/hiran/NetBeansProjects/OoliteCommunicator/target/classes/com/mycompany/oolitecommunicator/ui/Communicator_Logo_Icon.png
--input /home/hiran/NetBeansProjects/OoliteCommunicator/target/dist
--main-jar 'OoliteCommunicator-1.0-20211220-090022.jar'
--main-class com.mycompany.oolitecommunicator.Main
/usr/lib/jvm/java-16-openjdk-amd64/bin/jpackage @/home/hiran/NetBeansProjects/OoliteCommunicator/target/jpackage.opts
Наконец я получил пакет deb с этим файлом рабочего стола:

Код: Выделить всё

[Desktop Entry]
Name=OoliteCommunicator
Comment=Oolite Communicator is an add-on for Oolite to allow multiplayer interaction. (check http://oolite.org)
Exec=/opt/oolitecommunicator/bin/OoliteCommunicator
Icon=/opt/oolitecommunicator/lib/OoliteCommunicator.png
Terminal=false
Type=Application
Categories=Unknown
MimeType=
и я исправил ситуацию, добавив строку вручную

Код: Выделить всё

StartupWMClass=com-mycompany-oolitecommunicator-Main
Поэтому мой обходной путь — добавить эту строку в оба
  • /opt/oolitecommunicator/lib/oolitecommunicator-OoliteCommunicator. Desktop
  • /usr/share/applications/oolitecommunicator-OoliteCommunicator.desktop
после установки deb. Думаю, это не так просто, как предполагалось для jpackage...

Подробнее здесь: https://stackoverflow.com/questions/704 ... sktop-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»