好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 利用 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 開發編譯環境的方法詳解的相關信息資訊供網民參考!
  • 推薦文章