Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用具有自己路径的docker编译java文件_Java_Ubuntu_Docker_Javac - Fatal编程技术网

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

使用具有自己路径的docker编译java文件,java,ubuntu,docker,javac,Java,Ubuntu,Docker,Javac,我正在尝试使用docker编译一个.java文件。我阅读了docker网站上的文件,也阅读了以下链接: 我理解gcc编译器的概念,因为它不会为编译创建任何额外的文件。 但是java的就有。如果我使用以下命令并编译一个名为Main.java sudo docker run--rm-v“$PWD”:/usr/src/myapp-w/usr/src/myapp java:7 javac Main.java 通过以上链接学习后,我能够使用以下方法成功编译具有自己路径的java文件: do

我正在尝试使用docker编译一个.java文件。我阅读了docker网站上的文件,也阅读了以下链接:

我理解gcc编译器的概念,因为它不会为编译创建任何额外的文件。 但是java的就有。如果我使用以下命令并编译一个名为
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在哪里创建它,我对它一无所知。请帮帮我。

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

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

docker run --rm -v /mypathhere:/mycode java:7 sh -c "cd mycode; javac mycode.java"
这样,您应该将类文件写入
mypathhere
目录


如果那不太管用的话,我会道歉的——这是我不知道的。希望你能明白

它给出了以下错误
mycode.java:1:error:error在编写mycode:mycode.class(只读文件系统)类mycode时出错{^1 error
Ooops-我有一个错误“:”在mycode之后。再试一次;我刚刚测试过,它对我有效。哈哈。那太好了!当我的项目完成后,我会特别感谢你:“)嗨,看起来我再次需要你的帮助。对不起,但是你能带我出去吗?