使用具有自己路径的docker编译java文件

时间:2015-03-02 13:43:19

标签: java ubuntu docker javac

HY。我正在尝试使用docker编译.java文件。我在docker的网站上阅读了这些文件,我也阅读了这些链接:

docker's website

about volumes

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在哪里创建它,我对它没有任何理解。请帮帮我。

1 个答案:

答案 0 :(得分:0)

.class文件将位于容器内,位于根目录下。

最好的计划是挂载整个源目录,并让javac将结果放到同一目录中,例如:

docker run --rm -v /mypathhere:/mycode java:7 sh -c "cd mycode; javac mycode.java"

这样,您应该将类​​文件写入mypathhere目录。

道歉,如果这不起作用 - 这是我的头脑。希望你能得到这个想法。