您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么通過Rainbond源碼構建JAVA項目選取JDK”,在日常操作中,相信很多人在怎么通過Rainbond源碼構建JAVA項目選取JDK問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么通過Rainbond源碼構建JAVA項目選取JDK”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Rainbond官方提供了多個版本的OpenJDK供用戶使用。這些OpenJDK的安裝包托管于好雨科技官方的OSS(對象存儲)中。能夠接入互聯網的Rainbond平臺,可以通過rbd-repo組件的代理獲取這些資源,而不用人工干預。
用戶通過WEB界面配置,或在源碼根目錄創建system.properties
,設定java.runtime.version
來指定OpenJDK版本。
WEB界面設置的值優先級高于
system.properties
中設定的值。
WEB界面指定:
system.properties
指定方式:
# system.properties 目前Rainbond能識別的版本值為11,10,1.9,1.8,1.7,1.6 java.runtime.version=1.8
在不做出其他任何調整的情況下,在Rainbond執行源碼構建時,會獲取以下版本的OpenJDK資源:
OpenJDK版本 | 資源地址 |
---|---|
1.8(默認) | http://lang.goodrain.me/jdk/cedar-14/openjdk1.8.0_201.tar.gz |
1.6 | http://lang.goodrain.me/jdk/openjdk1.6.0_27.tar.gz |
1.7 | http://lang.goodrain.me/jdk/cedar-14/openjdk1.7.0_201.tar.gz |
1.9 | http://lang.goodrain.me/jdk/cedar-14/openjdk9.0.4.tar.gz |
10 | http://lang.goodrain.me/jdk/cedar-14/openjdk10.0.2.tar.gz |
11 | http://lang.goodrain.me/jdk/cedar-14/openjdk11.0.2.tar.gz |
特別提醒:如果maven編譯過程中發生錯誤,請自行下載對應的JDK到自己的環境中,嘗試本地構建,來確認是否由于OpenJDK版本問題導致了編譯失敗。
多數用戶希望能夠自定義JDK,比如希望使用特定版本的OpenJDK,或者具備Oracle的授權使用OracleJDK。接下來就會講解如何自定義。
Rainbond平臺集成了 Jforg出品的 Artifactory 作為制品庫(即rbd-repo組件)。在這里我們可以上傳并存儲自己的資源,包括jdk包。
首先,訪問 http://<管理節點IP>:8081
登錄 Artifactory,默認憑證: admin/password
創建自定義的本地制品倉庫,并上傳自定義的jdk包。
需要注意的是,Artifactory 上傳文件的默認限制是不能超過 100MB。如果上傳的文件超過了這個限制,可以在 Admin > General Configuration 頁面中設置 File Upload Max Size 項為一個合適的值。
在平臺WEB界面指定自定義JDK地址,設置處為應用構建源。
像上述方式上傳的jdk包,其地址為: http://<管理節點IP>:8081/artifactory/<自定義倉庫名>/<文件名>
類似: http://192.168.1.1:8081/artifactory/jdk2/jdk-8u201-linux-x64.tar.gz
至此,自定義JDK就完成了。
自定義JDK自由度更高,能適應更多的使用場景。但是其短板在于JDK獲取地址在每一個新建的應用中都要設置一遍。有沒有方式,可以替換Rainbond默認提供的JDK包呢?如果可以實現這個功能,那么每次構建都不用做其他設置,使用默認路徑,即可安裝公司內部指定版本的JDK,豈不是很方便?
默認JDK的地址,實際上指向了Rainbond官方的對象存儲,這對于Artifactory而言,屬于一種遠程倉庫(remote repository)。在Artifactory中,是沒有辦法通過上傳文件,來替換遠程倉庫中的文件的。所以,我們要在本地建立另一個倉庫,來替換Rainbond官方提供的遠程倉庫。
接下來是詳細的步驟:
用Rainbond官方提供的 rbd-java-buildpack 鏡像作為基礎,結合自需JDK包制作鏡像(以默認的1.8版本為例)
#構建目錄的文件結構如下: . ├── Dockerfile └── jdk-8u201-linux-x64.tar.gz #這里使用OracleJDK1.8 為例替換,用戶根據自己需求自行更改
Dockerfile內容:
FROM rainbond/buildpack:java-v5.1.5 COPY jdk-8u201-linux-x64.tar.gz /pkg/lang/jdk/cedar-14/openjdk1.8.0_201.tar.gz
構建操作:
docker build -t goodrain.me/buildpack:java-v5.1.5 .
啟動服務
在管理節點編輯指定配置文件:
#vi /opt/rainbond/conf/base.yaml #在末尾追加 - name: rbd-java-buildpack endpoints: - name: BUILDPACK_ENDPOINTS protocol: port: 2017 health: name: rbd-java-buildpack model: http address: 127.0.0.1:2017/lang/ max_errors_num: 3 time_interval: 30 after: - docker type: simple pre_start: docker rm rbd-java-buildpack start: >- docker run --name rbd-java-buildpack --network host -i goodrain.me/buildpack:java-v5.1.5 stop: docker stop rbd-java-buildpack restart_policy: always
啟動服務:
node service update
修改Artifactory中的遠程倉庫pkg_lang
的遠程地址為 http://<管理節點IP>:2017/lang
:
如果已經用Rainbond官方遠程倉庫獲取過JDK包,那么要在 pkg_lang-cache中清除已緩存的記錄。
現在就已經將默認的OpenJDK1.8版本,替換成為指定的 OracleJDK1.8版本了。
到此,關于“怎么通過Rainbond源碼構建JAVA項目選取JDK”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。