我正在尝试使用命令行类路径方法,但是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提供未找到的类!
正如我所看到的,您的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"]