目前 java 语言的版本很多,除了常用的 java 8,有一些遗留项目可能使用了 java 7,也可能有一些比较新的的项目使用了 java 10 以上的版本。如果想切换自己本地的 java 开发环境,折腾起来还是需要花费一些时间的,并且日后在不同版本间切换每次都要折腾一次。
docker 的出现让我们维护不同版本的开发编译环境变得简单,如果你还不知道什么是 docker 可以看看 docker 入门介绍。我们可以采用两种方式来构建 java 的开发环境,一种是在容器内编译运行,一种是在容器外编译运行,下面分别来看看具体如何操作。
准备工作:首先确保已经安装了 docker ,如果方便可以提前把 openjdk:8
的镜像拉取下来,到时可以节省大家的时间。本文在 macos 10.15.7 、docker 19.03.8 的环境下验证通过。
容器内编译与运行
本文以一个简单的 helloworld 程序为例,工程的文件目录结构及代码如下。
代码的内容。
做好以上准备后,就可以编辑 dockerfile 的内容。
构建镜像文件。
运行容器。
可以看到程序的输出,并且看到当前目录下并有没编译出来的结果。但是这种方式每次启动容器的时候都要进行编译,并且没有办法把编译结果进行分享,下一节的内容介绍如何在容器外保存编译结果。
容器外编译与运行
工作目录和代码准备与上一节相同,dockerfile 文件与上一节略有不同。
构建镜像文件。
编译文件。
运行程序。
写在最后
本文仅仅构建了一个简单的 java 开发环境,使用这种方式编译运行 java 程序的好处是无需在本地安装 jdk ,在需要为多个 jdk 版本编译程序的时候更加方便。但是对于复杂的工程常常使用 maven 或者 graddle 进行构建,这种项目能否使用本文提到的方式来构建呢,敬请期待本系列的下一篇文章,也欢迎大家关注公众号获得最新的文章推送。
参考资料docker – create a java development environment
到此这篇关于利用 docker 构建简单的 java 开发编译环境的文章就介绍到这了,更多相关docker构建java开发编译环境内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!