我意识到这个问题可能已经被问过,但在我的研究中我找不到答案。我可能犯了一个简单的错误。
我想使用 Docker 在容器内本地运行 Java 类。下面是我的 Dockerfile:
Dockerfile
FROM maven:3.5.2-jdk-8
COPY src /src
RUN javac src/java/com/Main.java
CMD java src/java/com/Main
Run Code Online (Sandbox Code Playgroud)
然后我按顺序运行这些命令:
docker build -t my_image_6_26_19:latest .
docker run -it my_image_6_26_19:latest
Run Code Online (Sandbox Code Playgroud)
该build命令运行正常,但该run命令引发以下错误:
Error: Could not find or load main class src.java.com.Main
Run Code Online (Sandbox Code Playgroud)
我已经审查了以下关于 SO 的问题,但似乎没有答案(或者也许我没有找到解决方案):
当我构建容器时,通过一些调试( )我可以看到正在创建RUN ls /src/java/com一个文件。Main.class我不确定为什么找不到该文件。此外,我尝试将 Dockerfile 的最后一行更改为CMD java src/java/com/Main.class,但没有成功。
如果Main没有包尝试:
CMD java -classpath src/java/com Main
Run Code Online (Sandbox Code Playgroud)
如果它确实有一个包(例如com,也许?)尝试:
CMD java -classpath src/java com.Main
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18663 次 |
| 最近记录: |