校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 利用 Docker 構建簡單的 java 開發編譯環境的方法詳解

利用 Docker 構建簡單的 java 開發編譯環境的方法詳解

熱門標簽:新鄉牧野400電話申請 智能電銷機器人真的有用么 百度地圖底圖標注 電銷智能機器人試用 激光標記地圖標注 中國地圖標注上各個省 企業辦理400電話收費標準 高德地圖標注足跡怎么打標 撫州市城區地圖標注

目前 Java 語言的版本很多,除了常用的 Java 8,有一些遺留項目可能使用了 Java 7,也可能有一些比較新的的項目使用了 Java 10 以上的版本。如果想切換自己本地的 Java 開發環境,折騰起來還是需要花費一些時間的,并且日后在不同版本間切換每次都要折騰一次。

Docker 的出現讓我們維護不同版本的開發編譯環境變得簡單,如果你還不知道什么是 Docker 可以看看 Docker 入門介紹。我們可以采用兩種方式來構建 java 的開發環境,一種是在容器內編譯運行,一種是在容器外編譯運行,下面分別來看看具體如何操作。

準備工作:首先確保已經安裝了 Docker ,如果方便可以提前把 openjdk:8 的鏡像拉取下來,到時可以節省大家的時間。本文在 macOs 10.15.7 、Docker 19.03.8 的環境下驗證通過。

容器內編譯與運行

本文以一個簡單的 Helloworld 程序為例,工程的文件目錄結構及代碼如下。

$ ls -lh
total 24
-rw-r--r-- 1 shiqiang staff 60B 11 11 19:02 Dockerfile
-rw-r--r-- 1 shiqiang staff 123B 11 11 19:02 Helloworld.java

代碼的內容。

public class Helloworld {
 public static void main(String args[]){
 System.out.println("Hello world.\n");
 }
}

做好以上準備后,就可以編輯 Dockerfile 的內容。

FROM openjdk:8 							#基于 openjdk:8 構建鏡像
COPY . /usr/src/myapp 			 #將目錄內的代碼拷貝到鏡像中 /usr/src/myapp 的位置
WORKDIR /usr/src/myapp 			#將 /usr/src/myapp 設為工作目錄
RUN javac Helloworld.java 	 #運行編譯命令,編譯 Helloworld.java 程序
CMD ["java", "Helloworld"] #執行編譯出來的 Helloworld

構建鏡像文件。

$ docker build -t java_in_docker_env_8 . 
$ docker images # 使用 docker images 命令可以看到構建出來的 java_in_docker_env_8 鏡像

運行容器。

$ docker run -it --rm java_in_docker_env_8
Hello world.

$ ls -lh     
total 24
-rw-r--r-- 1 shiqiang staff 112B 11 12 10:53 Dockerfile
-rw-r--r-- 1 shiqiang staff 123B 11 12 10:49 Helloworld.java

可以看到程序的輸出,并且看到當前目錄下并有沒編譯出來的結果。但是這種方式每次啟動容器的時候都要進行編譯,并且沒有辦法把編譯結果進行分享,下一節的內容介紹如何在容器外保存編譯結果。

容器外編譯與運行

工作目錄和代碼準備與上一節相同,Dockerfile 文件與上一節略有不同。

FROM openjdk:8
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp

構建鏡像文件。

$ docker build -t java_env_8
$ docker images # 使用 docker images 命令可以看到構建出來的 java_env_8 鏡像

編譯文件。

$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java_env_8 javac Helloworld.java
$ ls -lh	# 可以看到編譯出來的結果
total 32
-rw-r--r-- 1 shiqiang staff 112B 11 12 10:53 Dockerfile
-rw-r--r-- 1 shiqiang staff 427B 11 12 11:09 Helloworld.class
-rw-r--r-- 1 shiqiang staff 123B 11 12 10:49 Helloworld.java

運行程序。

$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java_env_8 java Helloworld 
Hello world.

寫在最后

本文僅僅構建了一個簡單的 java 開發環境,使用這種方式編譯運行 java 程序的好處是無需在本地安裝 jdk ,在需要為多個 jdk 版本編譯程序的時候更加方便。但是對于復雜的工程常常使用 maven 或者 graddle 進行構建,這種項目能否使用本文提到的方式來構建呢,敬請期待本系列的下一篇文章,也歡迎大家關注公眾號獲得最新的文章推送。

參考資料Docker - Create a Java development environment

到此這篇關于利用 Docker 構建簡單的 java 開發編譯環境的文章就介紹到這了,更多相關docker構建java開發編譯環境內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:海西 邯鄲 延安 臨汾 西安 忻州 辛集 南通

巨人網絡通訊聲明:本文標題《利用 Docker 構建簡單的 java 開發編譯環境的方法詳解》,本文關鍵詞  利用,Docker,構建,簡單,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《利用 Docker 構建簡單的 java 開發編譯環境的方法詳解》相關的同類信息!
  • 本頁收集關于利用 Docker 構建簡單的 java 開發編譯環境的方法詳解的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产视频一区在线观看| 在线看一区二区| 精品久久久久一区二区国产| 美女网站一区二区| 日韩一级黄色大片| 国产麻豆视频一区二区| 国产亚洲欧美在线| 北条麻妃一区二区三区| 亚洲日穴在线视频| 欧美日韩成人综合在线一区二区| 日日夜夜精品视频天天综合网| 日韩一区二区在线看| 国产91综合网| 亚洲一区在线电影| 欧美mv日韩mv国产网站app| 国产ts人妖一区二区| 亚洲女同女同女同女同女同69| 欧美色窝79yyyycom| 久草热8精品视频在线观看| 国产欧美日韩一区二区三区在线观看| 成人高清在线视频| 天堂va蜜桃一区二区三区漫画版| 欧美成人a在线| 97精品国产露脸对白| 天堂久久久久va久久久久| 国产日韩精品视频一区| 欧洲激情一区二区| 国模冰冰炮一区二区| 亚洲精品国产高清久久伦理二区| 91精品国产一区二区三区蜜臀 | 亚洲一级二级三级| 精品国产区一区| 91麻豆蜜桃一区二区三区| 丝袜脚交一区二区| 中文字幕视频一区二区三区久| 欧美人伦禁忌dvd放荡欲情| 丰满放荡岳乱妇91ww| 韩国午夜理伦三级不卡影院| 亚洲精品视频一区二区| 久久久久国产精品麻豆ai换脸| 欧美综合视频在线观看| 国产乱码精品一品二品| 亚洲第一综合色| 国产精品乱码久久久久久| 日韩精品一区二区三区中文不卡 | 亚洲自拍偷拍欧美| 久久先锋影音av鲁色资源| 欧美色综合久久| 99精品国产91久久久久久 | 日日摸夜夜添夜夜添精品视频| 中文子幕无线码一区tr| 欧美一区二区三区视频在线观看| 国产**成人网毛片九色| 精品在线免费视频| 日韩精品91亚洲二区在线观看 | 亚洲一区二区中文在线| 中文字幕 久热精品 视频在线| 欧美mv日韩mv| 日韩精品综合一本久道在线视频| 欧美性做爰猛烈叫床潮| av男人天堂一区| 成人做爰69片免费看网站| 久久99日本精品| 免费国产亚洲视频| 日韩黄色在线观看| 首页亚洲欧美制服丝腿| 亚洲国产精品一区二区久久恐怖片| 国产精品久久99| 国产精品午夜电影| 国产欧美一区在线| 国产欧美精品国产国产专区| 久久久久高清精品| 精品av久久707| 精品日韩成人av| 日韩亚洲欧美高清| 日韩欧美国产一区在线观看| 欧美一级夜夜爽| 欧美成人精品1314www| 久久免费偷拍视频| 久久久久久久久蜜桃| 国产精品丝袜黑色高跟| 国产精品久久久久久久久免费相片 | 欧美放荡的少妇| 欧美一区二区在线看| 日韩精品一区二区三区三区免费| 日韩午夜精品电影| 精品成人一区二区三区| 国产欧美一区二区三区在线老狼 | 精品动漫一区二区三区在线观看| 精品国产a毛片| 国产精品视频九色porn| 国产精品久久免费看| 亚洲美女视频一区| 日日夜夜免费精品| 国产一区二区三区四区五区美女 | 99精品久久免费看蜜臀剧情介绍| av在线不卡免费看| 欧美自拍丝袜亚洲| 日韩三级av在线播放| wwwwxxxxx欧美| 亚洲欧美乱综合| 美女视频网站久久| 国产精品1区二区.| 欧美亚洲综合久久| 欧美精品一区男女天堂| 中文字幕中文字幕一区| 午夜激情综合网| 国产乱子伦视频一区二区三区 | 久久久国产精品麻豆| 亚洲欧美日韩综合aⅴ视频| 天天操天天干天天综合网| 国产在线观看一区二区| 91亚洲男人天堂| 日韩一区二区在线免费观看| 中文字幕一区二区三中文字幕| 天堂蜜桃一区二区三区| 成人激情小说网站| 日韩午夜中文字幕| 成人免费视频在线观看| 免费日本视频一区| www.在线成人| 日韩欧美国产午夜精品| 亚洲免费在线视频| 伦理电影国产精品| 色偷偷成人一区二区三区91| 精品国产一区二区在线观看| 亚洲色图19p| 国产精品91xxx| 欧美一卡在线观看| 亚洲精品视频免费看| 国产电影一区在线| 69p69国产精品| 亚洲日本护士毛茸茸| 国产一区二区三区观看| 欧美丝袜丝交足nylons图片| 国产欧美日韩一区二区三区在线观看| 午夜欧美视频在线观看| 91免费国产在线| 国产欧美久久久精品影院 | 国产jizzjizz一区二区| 日韩精品一区二区三区在线播放 | 欧美a级理论片| 色婷婷久久一区二区三区麻豆| 国产女主播视频一区二区| 美女视频一区二区| 91精品国产综合久久精品| 有码一区二区三区| 成人精品一区二区三区四区 | 色香蕉久久蜜桃| 中文一区二区在线观看| 精品综合久久久久久8888| 制服丝袜成人动漫| 亚洲高清中文字幕| 在线观看亚洲精品视频| 一区av在线播放| 在线免费观看日韩欧美| 最新热久久免费视频| 成人18视频在线播放| 国产精品午夜在线观看| 波多野结衣精品在线| 中国av一区二区三区| 成人av在线电影| 综合久久久久久| 91女神在线视频| 亚洲精品国产精品乱码不99| 91久久免费观看| 亚洲香肠在线观看| 欧美日韩一区二区欧美激情| 天天av天天翘天天综合网| 欧美日韩精品一区视频| 亚洲成人先锋电影| 在线不卡a资源高清| 蜜乳av一区二区| 日韩一级成人av| 国产精品一线二线三线| 日本一区二区免费在线观看视频| 国产乱妇无码大片在线观看| 久久精品一区二区| 成av人片一区二区| 国产精品久久久久一区二区三区| 91亚洲永久精品| 婷婷久久综合九色综合伊人色| 6080午夜不卡| 日韩欧美不卡在线观看视频| 在线中文字幕一区| 国产亚洲欧美日韩俺去了| 国产女主播在线一区二区| 国产日本欧美一区二区| 国产精品18久久久久久久久| 国产精品天天摸av网| 色综合天天天天做夜夜夜夜做| 亚洲图片欧美色图| 欧美mv日韩mv国产网站app| 国产九色sp调教91| 亚洲视频中文字幕| 91精品国产欧美一区二区成人 | 日韩国产一区二| 久久综合色鬼综合色| 91在线播放网址| 免费久久99精品国产|