簡體   English   中英

snapscraft snap.yaml 用於在 ubuntu 上使用 Swing ui 的 Java 應用程序

[英]snapscraft snap.yaml for java apps using swing ui on ubuntu

我有一個使用 java.awt Swing UI 的基本 Java 應用程序,我想為它創建一個快照,以便在安裝它時有一個可用的啟動器並且我的 UI 啟動。 我使用 gradle 和 jar 任務來創建一個工作正常的 jar。

當然,我在一個類中,當調用時加載我的應用程序就好了:

    package com.foo
    class Bar() {
         static void main(String... args) { launchUI() }
    }

我在項目的根目錄創建了一個 snap 文件夾和一個 snap.yaml,我在那里按照https://snapcraft.io/docs/java-applications上的說明創建了一個 snap yaml,它生成一個 snap 文件,它也安裝得很好:

name: deepthought
base: core18  
version: '0.0.7'
summary: ""
icon: gui/foo.png
description: |
 Computes the ultimate answer for life the universe and everything

grade: devel # must be 'stable' to release into candidate/stable channels
confinement: devmode # use 'strict' once you have the right plugs and slots

# This doesn't work
#apps:
#  htmldoc:
#    command: desktop-launch $SNAP/bin/foo.sh
##    desktop: share/applications/htmldoc.desktop
#    plugs: [home, network, x11]
parts:
  foopart:
    plugin: gradle
    source: https://github.com/bsautner/foo.git
    source-type: git
    gradle-options: []   # suppress running of tests and run the war task
    gradle-output-dir: build/libs

我花了很多時間試圖弄清楚:

  • 如果我創建一個 shell 腳本來運行 java -jar foo.jar 命令,它最終會出現在 /snap 目錄中,但它不在用戶路徑上,因此他們無法訪問它
  • 我試過創建啟動器,但總是得到一個錯誤,我的啟動器找不到,如果我把它放在我的根文件夾中,因為 /bin/launch.sh snap 找不到它,如果我把它放在 snap/ bin/ 文件夾我也收到錯誤,無法將東西放入 snap 文件夾
  • 當我安裝我的 snap 時,我看不到它把我想要執行的 jar 放在哪里,所以我不能寫一個腳本來做到這一點

如果有人可以與啟動器共享一個 Java 程序的工作 snap.yaml,並且如果有任何提及您注意到這些文件與 /snap/snap 路徑相關的路徑的內容,我將不勝感激.yaml 文件

好的想通了 - 文檔沒有說這個,但文件是相對於項目的根目錄的,所以即使 yaml 說這是發布

apps:
  cmd3:
    command: usr/bin/foo.sh

foo.sh 應該在項目的根目錄中,這里的 orginize 部分將其移動到 bin 目錄

  foo:
    plugin: gradle
    source-type: local
    source: .
    build-packages:
      - openjdk-11-jdk
    stage-packages:
      - openjdk-11-jdk
      - x11-utils
    organize:
      ${SNAPCRAFT_PART_BUILD}/jg-snap: usr/bin/foo.sh

jar 位於 /snap/foo/current/usr/jar 目錄中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM