HY。我正在尝试使用docker编译.java文件。我在docker的网站上阅读了这些文件,我也阅读了这些链接:
and another question I had put up for gcc compiler
我理解gcc编译器的概念,因为它不会为编译创建任何额外的文件。
但java的确如此。如果我使用以下命令并编译名为Main.class
的文件,它会在我的/ home目录中创建一个Main.java
文件
sudo docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java:7 javac Main.java
从以上链接中学习后,我能够使用自己的路径成功编译java文件:
docker run --rm -v /mypathhere/mycode.java:/mycode.java: java:7 javac mycode.java"
如果有任何错误它会显示错误,但如果没有它只是编译并且没有输出,那是合理的,因为它创建了一个Main.class
文件。
我的问题是我无法找到Main.class
文件。我不知道docker在哪里创建它,我对它没有任何理解。请帮帮我。
答案 0 :(得分:0)
.class
文件将位于容器内,位于根目录下。
最好的计划是挂载整个源目录,并让javac
将结果放到同一目录中,例如:
docker run --rm -v /mypathhere:/mycode java:7 sh -c "cd mycode; javac mycode.java"
这样,您应该将类文件写入mypathhere
目录。
道歉,如果这不起作用 - 这是我的头脑。希望你能得到这个想法。