https://github.com/marcosnasp/java-modules-example
Criando uma aplicação java simples com suporte a geração de imagem slim com JRE customizada para módulos
https://github.com/marcosnasp/java-modules-example
java17 jdeps jlink maven
Last synced: 4 months ago
JSON representation
Criando uma aplicação java simples com suporte a geração de imagem slim com JRE customizada para módulos
- Host: GitHub
- URL: https://github.com/marcosnasp/java-modules-example
- Owner: marcosnasp
- Created: 2023-09-17T18:20:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-24T16:29:06.000Z (over 1 year ago)
- Last Synced: 2023-10-24T17:36:09.817Z (over 1 year ago)
- Topics: java17, jdeps, jlink, maven
- Language: Dockerfile
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Java Modules Example
Criando uma imagem docker leve para executar um pacote java simples
Utilizando jdeps and jlink para permitir a criação de uma JRE customizada
para a execução do projeto```dockerfile
FROM eclipse-temurin:17-jdk as build
RUN addgroup java; adduser --ingroup java --disabled-password java
USER javaWORKDIR /app
COPY .mvn/ .mvn
COPY mvnw pom.xml ./
RUN ./mvnw dependency:go-offline
COPY src ./src
RUN ./mvnw package -DskipTests
RUN jdeps --ignore-missing-deps -q \
--recursive \
--multi-release 17 \
--print-module-deps \
--class-path './target/dependency/*' \
./target/java-modules-example-1.0.jar > ./deps.info
RUN jlink \
--add-modules $(cat ./deps.info) \
--strip-debug \
--compress 2 \
--no-header-files \
--no-man-pages \
--output ./myjreFROM alpine:3.18.3
ENV JAVA_HOME /user/java/jdk17
ENV PATH $JAVA_HOME/bin:$PATH
COPY --from=build /app/myjre $JAVA_HOME
WORKDIR /app
COPY --from=build /app/target/java-modules-example-1.0.jar /app/
ENTRYPOINT java -jar java-modules-example-1.0.jar
```