Не может найти “основной класс” установкой моего собственного снимка

Я начал работать с Ядром Ubuntu и Снимками несколько дней назад. Мне удалось закончить очень простое учебное руководство о создании моего собственного снимка, и все работало прекрасное.

Теперь пора пойти далее, таким образом, в больших целях я пытался создать свое собственное Привет Мировой снимок. Моя идея состоит в том, чтобы кодировать демона Java для печати "привет мировое" право и назад, пользование библиотекой StringUtils только для потребности добавления некоторых зависимостей знатока и загрузки кода от GitLab частный репозиторий.

Код Java хорошо работал на моем компьютере, таким образом, я пошел для snapcraft.yaml:

name: java-maven-hello
version: 0
summary: A java example using maven dependecies
description: this is not much more than an example
confinement: devmode
grade: devel

apps:
  daemon:
    command: java -cp basic-project-0.0.1-SNAPSHOT.jar es.ramadorp.odm.snapcraft.test.daemon.Daemontest
    restart-condition: always 
    daemon: forking

parts:
  daemon:
    plugin: maven
    source: http://gitlab.ramadorp.es/ramador/snap-maven-test.git

Время для выполнения snapcraft и никаких проблем до сих пор но когда я пытаюсь установить поставленный снимок, я добираюсь:

error: cannot perform the following tasks:
- Start snap "java-maven-hello" (unset) services ([start snap.java-maven-hello.daemon.service] failed with exit status 1: Job for snap.java-maven-hello.daemon.service failed because the control process exited with error code.

"systemctl состояние snap.java-maven-hello.daemon.service" дает мне:

● snap.java-maven-hello.daemon.service
   Loaded: not-found (Reason: No such file or directory)
   Active: failed (Result: timeout) since lun 2017-04-24 10:23:54 CEST; 4min 34s ago

abr 24 10:22:24 Bec systemd[1]: Starting Service for snap application java-maven-hello.daemon...
abr 24 10:22:24 Bec /usr/bin/snap[8670]: cmd.go:111: DEBUG: restarting into "/snap/core/current/usr/bin/snap"
abr 24 10:22:24 Bec snap[8670]: Error: Could not find or load main class es.ramadorp.odm.snapcraft.test.daemon.Daemontest
abr 24 10:22:24 Bec systemd[1]: snap.java-maven-hello.daemon.service: Control process exited, code=exited status=1
abr 24 10:23:54 Bec systemd[1]: snap.java-maven-hello.daemon.service: Start operation timed out. Terminating.
abr 24 10:23:54 Bec systemd[1]: Failed to start snap.java-maven-hello.daemon.service.
abr 24 10:23:54 Bec systemd[1]: snap.java-maven-hello.daemon.service: Unit entered failed state.
abr 24 10:23:54 Bec systemd[1]: snap.java-maven-hello.daemon.service: Failed with result 'timeout'.

Так, я понимаю, что установка не находит .jar выполниться?, но я пошел глубоко на папках, созданных snapcraft и "basic-project-0.0.1-SNAPSHOT.jar" есть ли, в /home/bec_1/wkf/snapmaven/parts/daemon/build/target. Мое знание не идет очень далеко, чтобы понять, является ли .jar местоположение правильным или почему установка не находит "основной класс". Какие-либо идеи? Между прочим, мой pom.xml файл похож:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.boundedinfinity</groupId>
    <artifactId>basic-project</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
    <dependencies>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.0</version>
        </dependency>
    </dependencies>

</project> 
2
задан 26 April 2017 в 14:55

1 ответ

Вы, возможно, должны указать путь к файлу банки при запуске его. Что-то как this:-

    command: java -cp $SNAP/basic-project-0.0.1-SNAPSHOT.jar es.ramadorp.odm.snapcraft.test.daemon.Daemontest
2
ответ дан 2 December 2019 в 03:40

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

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