我意识到这个问题可能已经被问过了,但在我的研究中我找不到答案。我可能犯了一个简单的错误。
我想在本地用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
然后我按顺序运行以下命令:
docker build -t my_image_6_26_19:latest .
docker run -it my_image_6_26_19:latest
Error: Could not find or load main class src.java.com.Main
我在SO上回顾了以下问题,但似乎没有一个答案有效(或者我没有找到解决办法):
当我构建容器时,通过一些调试(codeRun ls/src/java/com/code>),我可以看到正在创建一个文件
如果
CMD java -classpath src/java/com Main
如果它确实有一个包(例如
CMD java -classpath src/java com.Main
来自@martijno的第二个版本是corect版本。我另外建议告诉编译器将输出写入另一个目录,例如
RUN javac src/java/com/Main.java -d bin
CMD java -cp bin com.Main