有没有更简单的方法将mysql驱动程序加载到类路径?

问题描述 投票:0回答:1

我正在尝试使用命令行类路径方法,但是docker run继续提供未找到的类错误?有没有更简单的方法将mysql驱动程序加载到类路径?

错误:错误:找不到或加载主类com.smartworks.client.RDSConnectionTest引起原因:java.lang.ClassNotFoundException:

FROM openjdk

COPY src src

WORKDIR src

运行mkdir -p目标

COPY target / mysql-connector-java-8.0.20.jar / target /

运行javac ./com/smartworks/client / *。java

ENTRYPOINT [“ java”,“-cp”,“ mysql-connector-java-8.0.20.jar:target / *”,“ com.smartworks.client.RDSConnectionTest”]

如果我从入口点删除驱动程序类路径,它会为com.mysql.cj.jdbc.Driver提供未找到的类!

java mysql docker driver classpath
1个回答
0
投票

正如我所看到的,您的Dockerfile中存在问题,请在Dockerfile下查看并根据其进行更改。

FROM openjdk

WORKDIR src # Good to define WORKDIR before any operation

COPY src . # As you are only copying src and change dest to Current directory which is src by default as WORKDIR is mentioned above

RUN mkdir -p target

RUN ls -lart #Add a debug to see if everyfile is present
COPY target/mysql-connector-java-8.0.20.jar target/ # Instead of /target , you have to copy to target

RUN javac ./com/smartworks/client/*.java 

ENTRYPOINT ["java","-cp", "mysql-connector-java-8.0.20.jar:target/*","com.smartworks.client.RDSConnectionTest"]

© www.soinside.com 2019 - 2024. All rights reserved.