[ํธ๋ฌ๋ธ์ํ ] ์คํ๋ง๋ถํธ ํ๋ก์ ํธ ๋์ปค๋ก ๋น๋ ์ค Unsupported class file major version 65 ์์ธ
๋ฌธ์ ์ํฉ
์คํ๋ง๋ถํธ์์ Dockerfile์ ํตํด
ํ๋ก์ ํธ๋ฅผ jar ํ์ผ๋ก ๋น๋ํ๊ณ
๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ณ ์ ๋ค์๊ณผ ๊ฐ์ด ์์
์๋ฃ๋ฅผ ๋ฐํ์ผ๋ก Dockerfile์ ์์ฑํ์๋ค.
FROM gradle:7.6.01-jdk17 AS builder
WORKDIR /app
COPY . /app
RUN gradle build --no-daemon --stacktrace
FROM amazoncorretto:17
WORKDIR /app
EXPOSE 80
ENV PROJECT_NAME=discodeit
ENV PROJECT_VERSION=1.2-M8
ENV JVM_OPTS=""
COPY --from=builder /app/build/libs/${PROJECT_NAME}-${PROJECT_VERSION}.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
์ด๋ฌ๊ณ ํฐ๋ฏธ๋์์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด ๋น๋๋ฅผ ์๋ํ๋ค.
docker build -t discodeit:local .
๊ทธ๋ฌ๋ RUN gradle build --no-daemon --stacktrace
๋ถ๋ถ์์ ๋น๋์ ์คํจํ๊ณ
๋ก๊ทธ๋ฅผ ์ดํด๋ณด๋ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
Unsupported class file major version 65
ํด๊ฒฐ
๋ฌธ์ ๋ FROM gradle:7.6.01-jdk17 AS builder
๋ถ๋ถ์ด์๋ค.
ํ์ฌ ๋ด ์คํ๋ง ํ๋ก์ ํธ
gradle/gradle-wrapper.properties๋ฅผ ๋ณด๋ฉด
gradle ๋ฒ์ ์ด 8.12.1์ด๋ค.
๊ทธ๋์ ๋ด ํ๋ก์ ํธ๋ ํ์ฌ๊น์ง gradle-8.12.1์์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ๋ค๋ก ์์ฑ์ด ๋์ด์์๋๋ฐ
Dockerfile์์๋ ํ์ ๋ฒ์ ์ธ 7.6.01๋ก ๋น๋๋ฅผ ์๋ํ๋ ค๊ณ ํ๋
์ง์๋์ง ์๋ ํด๋์ค ํ์ผ๋ค์ด ์์๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
Dockerfile์์ gradle ๋ฒ์ ์ ์๋์ ๊ฐ์ด ๋ง์ถ์๋ค.
FROM gradle:8.12.1-jdk17 AS builder
WORKDIR /app
COPY . /app
RUN gradle build --no-daemon --stacktrace
FROM amazoncorretto:17
WORKDIR /app
EXPOSE 80
ENV PROJECT_NAME=discodeit
ENV PROJECT_VERSION=1.2-M8
ENV JVM_OPTS=""
COPY --from=builder /app/build/libs/${PROJECT_NAME}-${PROJECT_VERSION}.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]

์ด๋ฏธ์ง ๋น๋์ ์ฑ๊ณตํ์๋ค!
+
ํ์ด ์๋ค๋ฉด
๋๋ ๊ณผ์ ์๊ตฌ์ฌํญ์ด๋ผ ํ๋ก์ ํธ ํ์ผ์ ๋์ปค๋ก ์ฎ๊ธฐ๊ณ ๋์ปค์์ ๋น๋ํ๋ ๋ฐฉ์์ผ๋ก ํด์ผํด์
์ด ์๋ฌ๋ฅผ ๋ถ์ํด์ผ ํ์ง๋ง
๊ทธ๋ฅ ํธํ๊ฒ๋ ์ธํ ๋ฆฌ์ ์ด์์ ๋น๋ํ๊ณ ์๋ Dockerfile๋ก ํด๋ ๋ฌธ์ ๋ ์๋ค.
FROM amazoncorretto:17
WORKDIR /app
EXPOSE 80
ENV PROJECT_NAME=discodeit
ENV PROJECT_VERSION=1.2-M8
ENV JVM_OPTS=""
COPY build/libs/${PROJECT_NAME}-${PROJECT_VERSION}.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]