利用 Docker 构建简单的 java 开发编译环境的方法详解
目前 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开发编译环境内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读