Простая java-привязка с jre-зависимостью

Уважаемые специалисты по созданию оснастки,

Я создаю простую привязку для Java-приложения:

name: freeplane-snap
version: 1.5.18-1
summary: Java program for working with Mind Maps
description: ...
confinement: devmode
grade: stable

apps:
  freeplane-snap:
    command: ./freeplane.sh

parts:
  main:
    plugin: dump
    source: freeplane-1.5.18/
    stage-packages: [openjdk-8-jre]
    filesets:
      mybuild:
        - "*"
    stage:
      - $mybuild
    snap:
      - $mybuild

Freeplane использует систему сборки gradle, но плагин snapcraft gradle не достаточно мощный (предполагает наличие «gradlew», а не «gradle», и используется для проектов с одним jar, т.е. всегда с опцией «jar»). Где я могу отправить запросы / исправления для этой функции?

Поэтому я использую бинарный дистрибутив проекта (распакованный в ./freeplane-1.5.18) с плагином 'dump', который работает хорошо. Однако, поскольку я не использую систему сборки java, jre отсутствует в оснастке (при запуске «freeplane-snap» я получаю ошибку, что JDK не может быть найден, НЕ при непосредственном запуске freeplane.sh). Я пытался добавить его с помощью «stage-packages: [openjdk-8-jre]», но это не помогло.

Не могли бы вы сказать мне, как добавить JRE к смеси?

Еще один вопрос: Слыша ли я об этом материале сдерживания, возможно ли / возможно ли это (с помощью плагинов?) Создать настольное приложение, которое может читать и писать (карты разума) везде и всюду, как обычный .deb? (например, вилки: [сеть, дом]?)

Большое спасибо и наилучшие пожелания, Феликс

2
задан 28 December 2016 в 05:37

1 ответ

  1. необходимо будет использовать JDK, не JRE. Это должно включать awt/viz зависимости библиотеки для графический интерфейсов пользователя
  2. , необходимо будет добавить в соответствующих разъемах для визуализации (по крайней мере, X11).
  3. Вам, возможно, понадобится лучшая обертка или изменить включенный сценарий.
    1. user.home свойство Java не установлено правильно.
    2. данные конфигурации шрифта не установлены правильно.

Вот пример моего проекта знатока:
https://github.com/ZenHarbinger/torgo

Для создания из источника откройте ошибку Проблемы и LaunchPad. Я записал gradlew плагин, но я не gradle пользователь.

<час>

РЕДАКТИРОВАНИЕ: Добавленные рабочие файлы

Вот являются снимком + обертка, которая, кажется, работает.
Это действительно грязно, поскольку это копирует содержание freeplane дважды.
https://<час> gist.github.com/ZenHarbinger/cf3aec2d7c6110ab0a0780b315cadc2f

РЕДАКТИРОВАНИЕ 2: Я отправил обновление gradle плагина в snapcraft. Это автоматически обнаружит, если gradlew будет существовать и также будет обеспечивать способность указать, что выходной dir
Вот является freeplane с snapcraft (если у Вас есть обновленный плагин). https://github.com/ZenHarbinger/freeplane

0
ответ дан 28 December 2016 в 05:37
  • 1
    Извините за ответ настолько поздно, я был очень напряженными прошлыми днями, сообщение было обновлено соответственно к Вашим предложениям – Smoksul 20 October 2018 в 20:09

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

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