У меня есть весенний проект с Gradle. Я создал задачу в build.gradle:
task dockerFile(type: Dockerfile) {
destFile.set(project.file('Dockerfile'))
from "alpine:$alpineVersion"
runCommand 'apk add --no-cache openjdk11'
copyFile "build/libs/${jar.archiveFileName.get()}", '/app/'
workingDir '/app/'
entryPoint 'java'
defaultCommand '-jar', "/app/${jar.archiveFileName.get()}"
}
Все работает нормально. Dockerfile создается. Но когда я пытаюсь запустить изображение, оно выдает ошибку: нет основного атрибута манифеста в /app/demo-0.0.1-SNAPSHOT-plain.jar
Также вот весь мой build.gradle:
import com.bmuschko.gradle.docker.tasks.image.Dockerfile
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.6'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
id 'com.bmuschko.docker-remote-api' version '6.6.1' apply false
}
group = 'ms10gradle2'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation "org.springframework.boot:spring-boot-starter-data-jpa:$jpaVersion"
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
task printJpaVer{
print "JPA VERSION: ${jpaVersion}"
}
task printfiles {
doLast {
def files = "cmd.exe /c dir".execute().text.trim()
println(files)
project.getAllprojects().forEach(System.out::print)
}
}
task printTasks{
project.getTasks().forEach{
println("task name: "+ it)
}
}
task printTasksInsideSubModulesTrueOrFalse{
project.getAllTasks(false).entrySet().forEach(System.out::println)
}
task printTaskVersion{
project.getAllprojects()
.forEach(p -> println p.name +"- "+p.getVersion())
print "================================================================"
project.getAllprojects().forEach(p -> println p.getVersion())
}
task dockerFile(type: Dockerfile) {
destFile.set(project.file('Dockerfile'))
from "alpine:$alpineVersion"
runCommand 'apk add --no-cache openjdk11'
copyFile "build/libs/${jar.archiveFileName.get()}", '/app/'
workingDir '/app/'
entryPoint 'java'
defaultCommand '-jar', "/app/${jar.archiveFileName.get()}"
}
и Dockerfile:
FROM alpine:3.11.2
RUN apk add --no-cache openjdk11
COPY build/libs/demo-0.0.1-SNAPSHOT-plain.jar /app/
WORKDIR /app/
ENTRYPOINT ["java"]
CMD ["-jar", "/app/demo-0.0.1-SNAPSHOT-plain.jar"]
Подробнее здесь: https://stackoverflow.com/questions/748 ... ute-in-jar
Нет основного атрибута манифеста, в jar ⇐ JAVA
Программисты JAVA общаются здесь
1731927890
Anonymous
У меня есть весенний проект с Gradle. Я создал задачу в build.gradle:
task dockerFile(type: Dockerfile) {
destFile.set(project.file('Dockerfile'))
from "alpine:$alpineVersion"
runCommand 'apk add --no-cache openjdk11'
copyFile "build/libs/${jar.archiveFileName.get()}", '/app/'
workingDir '/app/'
entryPoint 'java'
defaultCommand '-jar', "/app/${jar.archiveFileName.get()}"
}
Все работает нормально. Dockerfile создается. Но когда я пытаюсь запустить изображение, оно выдает ошибку: нет основного атрибута манифеста в /app/demo-0.0.1-SNAPSHOT-plain.jar
Также вот весь мой build.gradle:
import com.bmuschko.gradle.docker.tasks.image.Dockerfile
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.6'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
id 'com.bmuschko.docker-remote-api' version '6.6.1' apply false
}
group = 'ms10gradle2'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation "org.springframework.boot:spring-boot-starter-data-jpa:$jpaVersion"
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
task printJpaVer{
print "JPA VERSION: ${jpaVersion}"
}
task printfiles {
doLast {
def files = "cmd.exe /c dir".execute().text.trim()
println(files)
project.getAllprojects().forEach(System.out::print)
}
}
task printTasks{
project.getTasks().forEach{
println("task name: "+ it)
}
}
task printTasksInsideSubModulesTrueOrFalse{
project.getAllTasks(false).entrySet().forEach(System.out::println)
}
task printTaskVersion{
project.getAllprojects()
.forEach(p -> println p.name +"- "+p.getVersion())
print "================================================================"
project.getAllprojects().forEach(p -> println p.getVersion())
}
task dockerFile(type: Dockerfile) {
destFile.set(project.file('Dockerfile'))
from "alpine:$alpineVersion"
runCommand 'apk add --no-cache openjdk11'
copyFile "build/libs/${jar.archiveFileName.get()}", '/app/'
workingDir '/app/'
entryPoint 'java'
defaultCommand '-jar', "/app/${jar.archiveFileName.get()}"
}
и Dockerfile:
FROM alpine:3.11.2
RUN apk add --no-cache openjdk11
COPY build/libs/demo-0.0.1-SNAPSHOT-plain.jar /app/
WORKDIR /app/
ENTRYPOINT ["java"]
CMD ["-jar", "/app/demo-0.0.1-SNAPSHOT-plain.jar"]
Подробнее здесь: [url]https://stackoverflow.com/questions/74890428/no-main-manifest-attribute-in-jar[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия