溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么通過(guò)Rainbond源碼構(gòu)建JAVA項(xiàng)目選取JDK

發(fā)布時(shí)間:2021-07-30 15:25:17 來(lái)源:億速云 閱讀:162 作者:chen 欄目:云計(jì)算

這篇文章主要介紹“怎么通過(guò)Rainbond源碼構(gòu)建JAVA項(xiàng)目選取JDK”,在日常操作中,相信很多人在怎么通過(guò)Rainbond源碼構(gòu)建JAVA項(xiàng)目選取JDK問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么通過(guò)Rainbond源碼構(gòu)建JAVA項(xiàng)目選取JDK”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

默認(rèn)提供的JDK

Rainbond官方提供了多個(gè)版本的OpenJDK供用戶使用。這些OpenJDK的安裝包托管于好雨科技官方的OSS(對(duì)象存儲(chǔ))中。能夠接入互聯(lián)網(wǎng)的Rainbond平臺(tái),可以通過(guò)rbd-repo組件的代理獲取這些資源,而不用人工干預(yù)。

用戶通過(guò)WEB界面配置,或在源碼根目錄創(chuàng)建system.properties,設(shè)定java.runtime.version來(lái)指定OpenJDK版本。

WEB界面設(shè)置的值優(yōu)先級(jí)高于system.properties中設(shè)定的值。

  • WEB界面指定:

怎么通過(guò)Rainbond源碼構(gòu)建JAVA項(xiàng)目選取JDK

  • system.properties指定方式:

# system.properties 目前Rainbond能識(shí)別的版本值為11,10,1.9,1.8,1.7,1.6
java.runtime.version=1.8

在不做出其他任何調(diào)整的情況下,在Rainbond執(zhí)行源碼構(gòu)建時(shí),會(huì)獲取以下版本的OpenJDK資源:

OpenJDK版本資源地址
1.8(默認(rèn))http://lang.goodrain.me/jdk/cedar-14/openjdk1.8.0_201.tar.gz
1.6http://lang.goodrain.me/jdk/openjdk1.6.0_27.tar.gz
1.7http://lang.goodrain.me/jdk/cedar-14/openjdk1.7.0_201.tar.gz
1.9http://lang.goodrain.me/jdk/cedar-14/openjdk9.0.4.tar.gz
10http://lang.goodrain.me/jdk/cedar-14/openjdk10.0.2.tar.gz
11http://lang.goodrain.me/jdk/cedar-14/openjdk11.0.2.tar.gz

特別提醒:如果maven編譯過(guò)程中發(fā)生錯(cuò)誤,請(qǐng)自行下載對(duì)應(yīng)的JDK到自己的環(huán)境中,嘗試本地構(gòu)建,來(lái)確認(rèn)是否由于OpenJDK版本問(wèn)題導(dǎo)致了編譯失敗。

自定義JDK

多數(shù)用戶希望能夠自定義JDK,比如希望使用特定版本的OpenJDK,或者具備Oracle的授權(quán)使用OracleJDK。接下來(lái)就會(huì)講解如何自定義。

Rainbond平臺(tái)集成了 Jforg出品的 Artifactory 作為制品庫(kù)(即rbd-repo組件)。在這里我們可以上傳并存儲(chǔ)自己的資源,包括jdk包。

  • 首先,訪問(wèn) http://<管理節(jié)點(diǎn)IP>:8081 登錄 Artifactory,默認(rèn)憑證: admin/password

怎么通過(guò)Rainbond源碼構(gòu)建JAVA項(xiàng)目選取JDK

  • 創(chuàng)建自定義的本地制品倉(cāng)庫(kù),并上傳自定義的jdk包。

怎么通過(guò)Rainbond源碼構(gòu)建JAVA項(xiàng)目選取JDK

需要注意的是,Artifactory 上傳文件的默認(rèn)限制是不能超過(guò) 100MB。如果上傳的文件超過(guò)了這個(gè)限制,可以在 Admin > General Configuration 頁(yè)面中設(shè)置 File Upload Max Size 項(xiàng)為一個(gè)合適的值。

  • 在平臺(tái)WEB界面指定自定義JDK地址,設(shè)置處為應(yīng)用構(gòu)建源。

像上述方式上傳的jdk包,其地址為: http://<管理節(jié)點(diǎn)IP>:8081/artifactory/<自定義倉(cāng)庫(kù)名>/<文件名>

類似: http://192.168.1.1:8081/artifactory/jdk2/jdk-8u201-linux-x64.tar.gz

怎么通過(guò)Rainbond源碼構(gòu)建JAVA項(xiàng)目選取JDK

至此,自定義JDK就完成了。

替換默認(rèn)JDK

自定義JDK自由度更高,能適應(yīng)更多的使用場(chǎng)景。但是其短板在于JDK獲取地址在每一個(gè)新建的應(yīng)用中都要設(shè)置一遍。有沒(méi)有方式,可以替換Rainbond默認(rèn)提供的JDK包呢?如果可以實(shí)現(xiàn)這個(gè)功能,那么每次構(gòu)建都不用做其他設(shè)置,使用默認(rèn)路徑,即可安裝公司內(nèi)部指定版本的JDK,豈不是很方便?

默認(rèn)JDK的地址,實(shí)際上指向了Rainbond官方的對(duì)象存儲(chǔ),這對(duì)于Artifactory而言,屬于一種遠(yuǎn)程倉(cāng)庫(kù)(remote repository)。在Artifactory中,是沒(méi)有辦法通過(guò)上傳文件,來(lái)替換遠(yuǎn)程倉(cāng)庫(kù)中的文件的。所以,我們要在本地建立另一個(gè)倉(cāng)庫(kù),來(lái)替換Rainbond官方提供的遠(yuǎn)程倉(cāng)庫(kù)。

接下來(lái)是詳細(xì)的步驟:

  • 用Rainbond官方提供的 rbd-java-buildpack 鏡像作為基礎(chǔ),結(jié)合自需JDK包制作鏡像(以默認(rèn)的1.8版本為例)

#構(gòu)建目錄的文件結(jié)構(gòu)如下:
.
├── Dockerfile
└── jdk-8u201-linux-x64.tar.gz #這里使用OracleJDK1.8 為例替換,用戶根據(jù)自己需求自行更改

Dockerfile內(nèi)容:

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

構(gòu)建操作:

docker build -t goodrain.me/buildpack:java-v5.1.5 .
  • 啟動(dòng)服務(wù)

在管理節(jié)點(diǎn)編輯指定配置文件:

#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

啟動(dòng)服務(wù):

node service update
  • 修改Artifactory中的遠(yuǎn)程倉(cāng)庫(kù)pkg_lang 的遠(yuǎn)程地址為 http://<管理節(jié)點(diǎn)IP>:2017/lang

怎么通過(guò)Rainbond源碼構(gòu)建JAVA項(xiàng)目選取JDK

如果已經(jīng)用Rainbond官方遠(yuǎn)程倉(cāng)庫(kù)獲取過(guò)JDK包,那么要在 pkg_lang-cache中清除已緩存的記錄。

現(xiàn)在就已經(jīng)將默認(rèn)的OpenJDK1.8版本,替換成為指定的 OracleJDK1.8版本了。

到此,關(guān)于“怎么通過(guò)Rainbond源碼構(gòu)建JAVA項(xiàng)目選取JDK”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI