Docker не загружается путь к классу - PullRequest
1 голос
/ 07 мая 2020

Я пытаюсь подключиться к удаленному хосту mysql, но docker run не загружает драйвер, выдает classnotfounderror.

ClassNotFoundException: com.mysql.cj.jdbc.Driver
appreciate help! thanks.

-

FROM java:8-jdk-alpine
RUN apk get update 
RUN apk --no-cache add curl
RUN curl -L -o /mysql-connector-java-5.1.34.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar
COPY . /tmp
WORKDIR /tmp
EXPOSE 3307 3306
CMD ["java","-classpath","mysql-connector-java-5.1.34.jar:.","com.smartworks.JavaMySQLConnection"]

Ответы [ 2 ]

1 голос
/ 07 мая 2020

Ваш файл jar коннектора mysql выводится в root /mysql-connector-java-5.1.34.jar командой curl.

Поэтому, когда вы ссылаетесь на него в команде java с помощью -classpath, вы должны использовать тот же путь /mysql -connector- java -5.1.34.jar

CMD ["java","-classpath","/mysql-connector-java-5.1.34.jar:.","com.smartworks.JavaMySQLConnection"]

Так почему бы не вывести напрямую в / tmp командой curl, если это то, что вам нужно

FROM java:8-jdk-alpine
RUN apk --update --no-cache add curl
RUN curl -L -o /tmp/mysql-connector-java-5.1.34.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar
WORKDIR /tmp
EXPOSE 3307 3306
CMD ["java","-classpath","mysql-connector-java-5.1.34.jar:.","com.smartworks.JavaMySQLConnection"]
0 голосов
/ 08 июня 2020

нашел ответ. считал полезным для других. спасибо всем за их вклад.

FROM openjdk
COPY src . 
COPY target/mysql-connector-java-8.0.20.jar libs/
ENV CLASSPATH=libs/mysql-connector-java-8.0.20.jar:${CLASSPATH}
RUN javac /*.java
ENTRYPOINT ["java","RDSConnectionTest"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...