Контейнер Docker не может найти основной класс api-rest в jar при запуске - PullRequest
0 голосов
/ 08 октября 2019

Я создаю jar-файл моего весенне-загрузочного API с Gradle, но после запуска Docker-контейнера он останавливается и регистрирует сообщение «Ошибка: не удалось найти или загрузить основной класс com.test.exampleController»

Thisдля проекта Docker

Я вставляю этот код в свой build.gradle:

task fatJar(type: Jar) {
    manifest {
        attributes 'Main-Class': 'com.test.exampleController'
    }
    baseName = project.name + '-all'
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}

Я не уверен, нужна ли мне какая-то аннотация в классе или проблема в том, что яесть 3 контроллера

Я ожидаю запустить контейнер докера с API Spring-Boot и протестировать его с другим приложением, например, почтальоном

1 Ответ

0 голосов
/ 10 октября 2019

Наконец-то я нашел ошибку, я пытался собрать банку с неверным лаунчером. Во вкладках Gradle я могу найти задачи, внутри сборки появляются «баночки» между другими, и это было моей ошибкой, я думал: «Если я хочу банку, это моя задача», но нет, я хотел банку спрингбута, и это подразумевает, чтоМне нужно, чтобы в банке был основной класс и лаунчер. Для этого существует еще одна опция в моей задаче «bootjar». Это создает файл манифеста с определенным основным классом и начальным классом. Дополнительное изображение

enter image description here

...