![](/img/trans.png)
[英]Java not honoring the classpath specification with -cp option when running with a jar
[英]running Java application with '-cp ...' option in Docker
当我想通过命令行 ( cmd
) 运行我的 java 程序时,我执行以下操作:
打开第一个cmd
启动服务器
1.1 - javac API.java
1.2 - javac CLI.java
1.3 - java -cp.;.\mysql-connector-java-5.1.36.jar API
给客户开第二个cmd
2.1 - java CLI
在Dockerfile
我是这样写的:
FROM openjdk
COPY . /java
WORKDIR /java
RUN javac API.java
RUN javac CLI.java
CMD [ "java", "-cp", ".;.\mysql-connector-java-5.1.36.jar", "API" ]
CMD [ "java", "CLI" ]
-cp 选项不想工作。
是否有可能以某种方式在新终端中运行java CLI
?
Java 识别CLASSPATH
环境变量。 您可以使用 Docker ENV
指令设置此环境变量,如果这样做,您无需担心命令行java
选项是否正确。
# Note Unix conventions: `:` separates elements, `/` between path components
ENV CLASSPATH .:./mysql-connector-java-5.1.36.jar
CMD ["java", "API"]
docker run -d -p 8080:8080 my-image # runs the default CMD
docker run --rm -it my-image \
java CLI # runs this command instead
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.