简体   繁体   English

Docker 错误:线程“主”java.lang.ClassNotFoundException 中的异常

[英]Docker error: Exception in thread "main" java.lang.ClassNotFoundException

My maven-spring boot project runs fine when I do so outside of Docker.当我在 Docker 之外执行此操作时,我的 maven-spring boot 项目运行良好。 But once I dockerize it I get an "Exception in thread "main" java.lang.ClassNotFoundException" when I try to run it.但是一旦我将它 dockerize ,当我尝试运行它时,我会得到一个“线程“main”java.lang.ClassNotFoundException 中的异常”。 Searching this problem I'm told you need to make sure you have the spring-boot-maven-plugin in your plugin management and plugins inside pom.xml, and to include the main class therein.搜索这个问题我被告知你需要确保你的插件管理和 pom.xml 中的插件中有 spring-boot-maven-plugin,并在其中包含主类。 I've done this but the problem persists.我已经这样做了,但问题仍然存在。 My docker file looks like this:我的 docker 文件如下所示:

FROM maven:3.8.4-openjdk-17 as builder
RUN mkdir -p /home/maven
COPY src /home/maven/
COPY chg.json /home/maven/
COPY manifest-QA.yml /home/maven/
COPY manifest-za.yml /home/maven/
COPY manifest-zb.yml /home/maven/
COPY pom.xml /home/maven/
COPY service-account.json /home/maven/
COPY sonar-project.properties /home/maven/
COPY checkLocksmith.sh /home/maven/
COPY buildConfig.json /home/maven/
COPY settings.xml /home/maven/
WORKDIR /home/maven
RUN mvn -s ./settings.xml clean package
FROM openjdk:17-oracle
EXPOSE 8080
WORKDIR /home/maven
COPY --from=builder /home/maven/target/Program-0.0.1-SNAPSHOT.jar ./app.jar
ENTRYPOINT ["java","-jar","app.jar"]

The problem appeared to be with my Dockerfile.问题似乎出在我的 Dockerfile 上。 This is what I changed it to这就是我将其更改为

FROM maven:3.8.4-openjdk-17 as builder
WORKDIR /home/maven
COPY src src
COPY ./*.json .
COPY ./*.yml .
COPY ./*.xml .
COPY ./*.sh .

RUN mvn -s ./settings.xml clean package

FROM openjdk:17-oracle
EXPOSE 8088
WORKDIR /home/maven
COPY --from=builder /home/maven/target/Program-0.0.1-SNAPSHOT.jar ./app.jar
ENTRYPOINT ["java","-jar","app.jar"]

Please edit your docker file with:请使用以下命令编辑您的 docker 文件:

FROM maven:3.8.4 AS maven FROM maven:3.8.4 AS maven

WORKDIR /home/maven工作目录 /home/maven

COPY .复制 。 /home/maven /家/行家

FROM adoptopenjdk/openjdk17:alpine-jre FROM 采用openjdk/openjdk17:alpine-jre

ARG JAR_FILE=Program-0.0.1-SNAPSHOT.jar ARG JAR_FILE=程序-0.0.1-SNAPSHOT.jar

WORKDIR /home/maven工作目录 /home/maven

COPY --from=maven /home/maven/app/target/${JAR_FILE} /app复制 --from=maven /home/maven/app/target/${JAR_FILE} /app

ENTRYPOINT ["java","-jar","Program-0.0.1-SNAPSHOT.jar"]入口点 ["java","-jar","Program-0.0.1-SNAPSHOT.jar"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 线程“main”java.lang.ClassNotFoundException中的异常: - Exception in thread “main” java.lang.ClassNotFoundException: 线程“主”中的异常java.lang.ClassNotFoundException? - Exception in thread “main” java.lang.ClassNotFoundException? Docker 容器运行时出现错误:线程“主”java.lang.ClassNotFoundException 中的异常: - Docker container run with error: Exception in thread “main” java.lang.ClassNotFoundException: Class.forName 中的线程“main”java.lang.ClassNotFoundException 中的异常 - Exception in thread "main" java.lang.ClassNotFoundException in Class.forName 线程“main”中的异常 java.lang.ClassNotFoundException,mapreduce - Exception in thread "main" java.lang.ClassNotFoundException, mapreduce 线程“主”中的异常java.lang.ClassNotFoundException:TrackPlayer.MainTrack - Exception in thread “main” java.lang.ClassNotFoundException: TrackPlayer.MainTrack 线程“主”中的异常java.lang.ClassNotFoundException:MaxTemperature - Exception in thread “main” java.lang.ClassNotFoundException:MaxTemperature 线程“main”中的异常java.lang.ClassNotFoundException:WordCount - Exception in thread “main” java.lang.ClassNotFoundException: WordCount Hadoop Java错误:线程“ main”中的异常java.lang.ClassNotFoundException:泰坦尼克号 - Hadoop Java Error : Exception in thread “main” java.lang.ClassNotFoundException: Titanic 线程“主”中的异常java.lang.NoClassDefFoundError:MyFile原因:java.lang.ClassNotFoundException: - Exception in thread “main” java.lang.NoClassDefFoundError: MyFile Caused by: java.lang.ClassNotFoundException:
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM