如何构建可执行的 micronaut jar
How to build executable micronaut jar
我使用
创建了一个 micronaut 应用程序
mn create-app my-app
它使用 Dockerfile 生成了项目结构。 docker 文件正在查找要复制的文件 my-app-*-all.jar
。
FROM openjdk:14-alpine
COPY build/libs/my-app-*-all.jar my-app.jar
EXPOSE 8080
CMD ["java", "-Dcom.sun.management.jmxremote", "-Xmx128m", "-jar", "my-app.jar"]
如何生成 my-app-*-all.jar?
./gradlew jar
没有生成(-all)jar。
编辑: 它只生成 my-app-0.1.jar
,当我使用那个 jar 时,它给出了一个错误。
no main manifest attribute, in build/libs/my-app-0.1.jar
我需要在 build.gradle 文件中添加任何额外的行吗?
./gradlew shadowJar
将生成 my-app-0.1-all.jar
.
注意:在提供此答案时,当我在生成项目时使用 jib 功能时,影子插件似乎丢失了。
即当你使用
mn create-app my-app --features jib
build.gradle
文件中不存在 shadowPlugin。
如果是这种情况:在 build.gradle
中添加以下行
plugins {
...
id "com.github.johnrengelman.shadow" version "6.0.0"
}
shadowJar {
mergeServiceFiles()
}
How do I generate the my-app-*-all.jar?
如果您使用默认的 Gradle 构建配置,assemble
将执行此操作。
~ $ mn --version
Micronaut Version: 2.0.0
JVM Version: 1.8.0_252
~ $
~ $ mn create-app my-app
| Application created at /Users/jeffscottbrown/my-app
~ $
~ $ cd my-app
my-app $
my-app $ ./gradlew assemble
BUILD SUCCESSFUL in 2s
10 actionable tasks: 10 executed
my-app $
my-app $ ls -l build/libs
total 27160
-rw-r--r-- 1 jeffscottbrown staff 13473553 Jul 16 10:23 my-app-0.1-all.jar
-rw-r--r-- 1 jeffscottbrown staff 1457 Jul 16 10:23 my-app-0.1.jar
我使用
创建了一个 micronaut 应用程序mn create-app my-app
它使用 Dockerfile 生成了项目结构。 docker 文件正在查找要复制的文件 my-app-*-all.jar
。
FROM openjdk:14-alpine
COPY build/libs/my-app-*-all.jar my-app.jar
EXPOSE 8080
CMD ["java", "-Dcom.sun.management.jmxremote", "-Xmx128m", "-jar", "my-app.jar"]
如何生成 my-app-*-all.jar?
./gradlew jar
没有生成(-all)jar。
编辑: 它只生成 my-app-0.1.jar
,当我使用那个 jar 时,它给出了一个错误。
no main manifest attribute, in build/libs/my-app-0.1.jar
我需要在 build.gradle 文件中添加任何额外的行吗?
./gradlew shadowJar
将生成 my-app-0.1-all.jar
.
注意:在提供此答案时,当我在生成项目时使用 jib 功能时,影子插件似乎丢失了。
即当你使用
mn create-app my-app --features jib
build.gradle
文件中不存在 shadowPlugin。
如果是这种情况:在 build.gradle
plugins {
...
id "com.github.johnrengelman.shadow" version "6.0.0"
}
shadowJar {
mergeServiceFiles()
}
How do I generate the my-app-*-all.jar?
如果您使用默认的 Gradle 构建配置,assemble
将执行此操作。
~ $ mn --version
Micronaut Version: 2.0.0
JVM Version: 1.8.0_252
~ $
~ $ mn create-app my-app
| Application created at /Users/jeffscottbrown/my-app
~ $
~ $ cd my-app
my-app $
my-app $ ./gradlew assemble
BUILD SUCCESSFUL in 2s
10 actionable tasks: 10 executed
my-app $
my-app $ ls -l build/libs
total 27160
-rw-r--r-- 1 jeffscottbrown staff 13473553 Jul 16 10:23 my-app-0.1-all.jar
-rw-r--r-- 1 jeffscottbrown staff 1457 Jul 16 10:23 my-app-0.1.jar