Eclipse建立Java工程中的三個JRE選項的區別(Use an execution environment JRE,Use a project specific JRE,Use default JRE)


本博客部分轉載自:

http://blog.csdn.net/wdjhzw/article/details/42086615  這篇博客寫的非常好,很用心。

一.首先看新建Java Project時候讓選擇的JRE的對話框

 

關於這三個選項,對應的Eclipse的官方給出了如下解釋:(http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fref-wizard-java-project.htm

二.先介紹一下一下概念中會遇到的個別名詞:

①compiler compliance level 翻譯:“編譯器執行的版本”(對應設置頁的eclipse官方解釋請點擊

 

可以看到,設置他的參數描述是 Compiler compliance level,直譯是“編譯器服從的等級”。其后的下拉菜單可以選擇JDK的版本。其實,這個參數是設置你的class的運行等級,即你的程序是以哪種版本的JDK進行編譯,所以得到的class至少要在這個版本的JRE上運行才行。

舉個例子:
比如你的JDK版本是1.7,默認情況下你的Compiler compliance level應該是1.7,因為JRE本來就是為對應版本的JDK開發的程序所服務的。新的JDK提供了更多的功能,而這些功能都要有對應的JRE(至少是對應的JRE)來提供運行環境。所以你的JDK的版本要大於等於Compiler compliance level的版本才行。
之所以提供了這個參數選項,是考慮到將當前編寫的程序放到低版本的JRE環境中運行的這種狀況。同時,為了能夠順利保證可以在低版本的JRE上運行,你要時刻保證不能使用高版本的JDK中提供的API,道理顯而易見。
最后,你必須安裝對應的低版本的JRE來運行這個經過降級編譯的程序,否則他提示你安裝對應版本的JRE。

如下圖:

②execution environment  翻譯:“執行環境” (對應設置頁的eclipse官方解釋請點擊

關於 執行環境 的設置對話框如下:(該在該Eclipse中我只安裝了一個jdk1.8的路徑)

 

如果你安裝了多個版本的JRE,在右邊的Compatible JREs列表里,會列出左邊Execution Environment對應的兼容JRE。

我裝過1.7和1.8版本的JDK,自然有對應版本的JRE,高版本兼容低版本,所以所有的列表中都有這兩個選項。我在左側選中的是JavaSE-1.8來說,最Perfect match的當然是對應自己版本的JRE。

而且他版本,除非你也安裝了對應的JRE,否則找不到那個Perfect match JRE。(在左側選着JavaSE-1.3,左側對應的Compatible JREs也是jdk1.8.0_74 但是沒有右邊中括號的[perfect match]),如下圖:

 

同時,如果你想指定Execution Environment中某個JRE的默認兼容JRE(右側有多個JRE的情況下),那就在右邊的那個JRE前面勾選復選框,如下圖:

 

 三.再看New Java Project上的JRE對應的三個選項:

①Use an execution environment JRE:

When selected, you can specify an execution environment to be used for the new Java project. The new project will use a compiler compliance which fits best the selected execution environment.
Execution environments can be configured on the Java > Installed JREs > Execution Environments preference page.

當你新建一個Java Project的時候可以選擇一個特定的 執行環境,這個新建的Java Project將會使用一個 最適合你選擇的“執行環境” 對應的編譯器執行的版本。

“執行環境”的設置在 路徑 Java > Installed JREs > Execution Environments  屬性頁

 

這個選項是最令人糾結的。你點開其后的下拉菜單,會看到這樣一幕。

它提供了eclipse支持的所有運行環境選項(只是選項而已)。

按照官方的解釋,選中該選項,你的compiler compliance將會被設置為對應你所選的JRE版本。

比如,我電腦上只有JRE1.7,如果我選中Use an execution environment JRE,並選擇了“JavaSE-1.6”,那么就會有這樣的提示。

 

即是說,默認的compiler compliance編譯級別為1.7,即我的JDK的JRE版本,新的工程將會被指定為1.6的編譯級別。

這樣看起來好像跟我之前講的自定義compiler compliance如出一轍,而且好像解決了那個需要對應低版本的JRE的警告問題。

但是,當你建立完工程,會看到Problems視圖里有一個警告。

嗯,沒錯,你仍然需要安裝對應版本的JRE才行。

不過,你寫個“Hello World!”還是可以運行的。

  

②Use project specific JRE:

When selected, you can explicitly specify the JRE to be used for the new Java project. The new project will use a compiler compliance which matches the version of the selected JRE.

 

其實這個選項跟Use default JRE是互補的。之前說道,你可以安裝很多版本的JRE,選擇Use default JRE就會指定默認JRE為你構建用的JRE,但如果你想選擇其它你所安裝的JRE的話,就可以選中這個Use project specific JRE,在其后的下拉菜單中,你就可以選擇你想使用的JRE。

同時,compiler compliance也會被設置為對應JRE版本的編譯級別。

③Use default JRE:(次選項為這三個選項中的默認選項)

When selected, the New Java Project Wizard creates a new Java project which uses the workspace default JRE. The default JRE can be configured on the Java > Installed JREs preference page.
The project will also use the default compiler compliance which can be configured on the Java > Compiler preference page.
Click on Configure default... to configure the default JRE and compiler compliance.

 

 你會注意到,我解釋compiler compliance時的最后那張圖上,有一個Configure…跳轉。

 

他會跳轉到這里 Java > Installed JREs 

 

在這里,你可以配置你電腦中的JRE,只要你想,從1.1到1.7,當然現在最新有1.8,所有版本的JRE你都可以安裝,並通過旁邊的Add按鈕添加到這里。注意這里是JRE,之所以Name中有JDK,是因為這個JRE是JDK附帶的,不是獨立安裝的。JRE可以隨便你裝多少,但JDK一個就夠了。

每個JRE前面都有一個復選框,雖說是復選框,但只能有一個被選中,而被選中的就會作為默認JRE。

所以,Use default JRE的作用,就是在你建立工程時,如果選中,就將這個默認JRE作為你構建用的JRE。就像我最開始的那張圖上一樣,並給出了提示“currently 'jdk1.7.0_71'”。

 四.總結

所以,總結一下,就是:

1.如果電腦中只有一個版本的JRE,因為你是初學者,初級開發者,或者你的開發只需用一個版本的JRE,那么你就選Use default JRE:就可以了。因為你的eclipse的啟動使用就是這個JRE,它會把這個JRE配置為默認的JRE,而通常情況下這個JRE就是你JDK中的JRE,一切都是這么順理成章。

2.如果電腦中有多個版本的JRE,就可以使用Use project specific JRE:來選擇你想使用JRE。這個時候因為你的JDK和JRE的版本可能不對應了,所以compiler compliance會被調整為你所選的JRE的版本。

3.至於Use an execution environment JRE:這個選項,如果你要選的版本的JRE已經安裝了,那么你就可以安心的選擇了。否則你一定逃不過這個警告

 

其實Use project specific JRE:Use an execution environment JRE:這兩個選項都是幫助你選擇不同的JRE,前者是讓你從已有的JRE中選擇,所以你有什么他就給你提供什么,比較靠譜;而后者是讓你從他可以提供的JRE中選擇,他可以提供什么,你就可以選什么,但選完之后你有沒有對應JRE那就是另一回事了。

 

另外:

除了在新建JavaProject的時候讓選着的JRE三個選項之外,如果對已經建立的項目,進行該項目的JRE類庫編輯也同樣對應三個選項,兩個入口的這三個選項是相互對應的。

 

 

 

 =========================================================================

ps發現:

安裝的jdk目錄下的內容:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM