๐Ÿ“ค ๋ฐฐํฌ

[ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…] ์Šคํ”„๋ง๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ๋„์ปค๋กœ ๋นŒ๋“œ ์ค‘ Unsupported class file major version 65 ์˜ˆ์™ธ

์†Œ์˜ ๐Ÿ€ 2025. 4. 9. 14:15

๋ฌธ์ œ ์ƒํ™ฉ

์Šคํ”„๋ง๋ถ€ํŠธ์—์„œ 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"]

์ฐธ๊ณ ์ž๋ฃŒ

https://www.inflearn.com/community/questions/826047/unsupported-class-file-major-version-64-%EC%97%90%EB%9F%AC?srsltid=AfmBOoq5wH-tvdvJjX3EPM_omXnXQjWhqU8lVCaGg_HaCE-nu9B8xMf3

๋ฐ˜์‘ํ˜•