java -cp 参数的 Dockerfile ENTRYPOINT
Dockerfile ENTRYPOINT for java -cp argument
我正在尝试为 运行ning 一个程序创建一个 docker 文件,当我在 gitbash 上 运行 它时,该程序获取 mysqlconnector jar:
java -cp mysql-connector-java-8.0.26.jar test.java
如何将其转换为 Dockerfile?我尝试将 ENTRYPOINT 设置为上面的字符串,但收到一条错误消息
“Could Not Find or Load Main Class” Error test.java
也许您需要包的路径,例如
java -cp mysql-connector-java-8.0.26.jar my/package/test.java
显然这个 class 必须有一个 main 方法
Docker 确实了解您所需的依赖项。
您需要将所有 classes/3rd 派对罐移到一个公共文件夹中,以模仿您在本地的操作方式。
FROM openjdk:11
# Set up the Environment Variable for Application
ENV APP_HOME=/app
# Create the directories for Application
RUN mkdir -p ${APP_HOME}
# Setting up the Work directory
WORKDIR ${APP_HOME}
# Exposing the Application Port
EXPOSE 8080
# COPY dependencies
COPY /send-email-api/target/your-mysql-jars ${APP_HOME}
# Copying the artifact from host machine to containers
COPY /send-email-api/target/*classes ${APP_HOME}
ENTRYPOINT java -cp mysql-connector-java-8.0.26.jar test.java
或
ENTRYPOINT ["java","-cp","mysql-connector-java-8.0.26.jar","test.java"]
你忘记编译了。
java test.java
总是会失败,无论你是否使用容器。使用
编译它
javac test.java
然后您将看到一些 test.class 文件(这在某种程度上违反了 Java 命名约定,但那又怎样)。最后 运行 这个使用
java test
(您省略 .class 并且 Java 将使用 class 路径找到它)
我正在尝试为 运行ning 一个程序创建一个 docker 文件,当我在 gitbash 上 运行 它时,该程序获取 mysqlconnector jar:
java -cp mysql-connector-java-8.0.26.jar test.java
如何将其转换为 Dockerfile?我尝试将 ENTRYPOINT 设置为上面的字符串,但收到一条错误消息
“Could Not Find or Load Main Class” Error test.java
也许您需要包的路径,例如
java -cp mysql-connector-java-8.0.26.jar my/package/test.java
显然这个 class 必须有一个 main 方法
Docker 确实了解您所需的依赖项。 您需要将所有 classes/3rd 派对罐移到一个公共文件夹中,以模仿您在本地的操作方式。
FROM openjdk:11
# Set up the Environment Variable for Application
ENV APP_HOME=/app
# Create the directories for Application
RUN mkdir -p ${APP_HOME}
# Setting up the Work directory
WORKDIR ${APP_HOME}
# Exposing the Application Port
EXPOSE 8080
# COPY dependencies
COPY /send-email-api/target/your-mysql-jars ${APP_HOME}
# Copying the artifact from host machine to containers
COPY /send-email-api/target/*classes ${APP_HOME}
ENTRYPOINT java -cp mysql-connector-java-8.0.26.jar test.java
或
ENTRYPOINT ["java","-cp","mysql-connector-java-8.0.26.jar","test.java"]
你忘记编译了。
java test.java
总是会失败,无论你是否使用容器。使用
编译它javac test.java
然后您将看到一些 test.class 文件(这在某种程度上违反了 Java 命名约定,但那又怎样)。最后 运行 这个使用
java test
(您省略 .class 并且 Java 将使用 class 路径找到它)