JDK、Eclipse、Myeclipse、Tomcat等各種軟件的版本詳解(寫給對版本和兼容性問題焦頭爛額的你)


這篇文章我們來探討一下關於JDK、Eclipse、Myeclipse、Tomcat的版本問題。

一、關於版本的幾個概念
1.32位和64位兩個版本:
    簡言之,64位的操作系統支持識別4G以上的內存條,而32位不行。所以今天我們安裝的絕大多數操作系統和各種軟件都是64位的(因為我們的電腦一般都大於等於4G內存)。如果你安裝了32位的jdk,但是你的jar包是64位jdk編譯的,肯定是不能運行的。因此,我們強調一點:不管是JDK、Tomcat之類的什么編程相關軟件,你都該安裝64位的,免得日后有麻煩。64位的怎么識別?在軟件下載時,一般會注明:windows64bit或者windows32bit。下載的安裝包,一般也在名稱里面包含:*86(32位),或者*86_*64(64位)。
2.安裝包和解壓包兩個版本:
    很多軟件,既有安裝版,也有解壓版。以Tomcat為例,安裝版就是一路next。解壓版則是將壓縮包直接解壓,就算是完成了。
    我們推薦解壓版。首先解壓版不會給你添加注冊表或者系統服務之類的,你所不擅長的東西,免得到處是未知的垃圾。其次,解壓版可以隨時刪除隨時重解壓,你在心里很清楚它安在了哪里。總而言之,解壓版非常可控。並且java編程相關的很多軟件都是以解壓形式安裝的,解壓完給某幾個地方配置下就可以了,非常潔凈。
3.版本號的發行版本:
    以JDK為例,JDK有1.5和jdk1.6的區別。無論什么軟件,你學習的時候一般都是只拿一個版本來先掌握的。假如你在學習時,以1.6的環境學習的java基礎知識,你可以去搜索一下“jdk1.6相對於1.5的新特性”,“jdk1.7的新特性”等等內容。你就會有這樣的感受:我已經會了1.6了,並且看完1.7的新特性,相當於我會了1.7了。這樣你在心中就會有很好的版本意識,會有明確的版本分界。你就不會再看到各種版本焦頭爛額,其實版本也就是那么回事。“不就是多了幾個功能么?”。
4.其它軟件和JDK的關系:
    要知道,jdk是一切java軟件的基礎。以tomcat為例,它是java編寫 的軟件,也就是說,它的開發者跟你一樣用java語言寫代碼。
開發者使用jdk1.6寫了tomcat6.0,然后用jdk1.6來編譯自己的代碼並生成jar包,那么tomcat6.0就是和jdk1.6屬於一致版本的了。
后來發布了jdk1.7,又有人用1.7寫tomcat7。
我想你應該明白了,你應該盡量讓軟件版本相符合,比如tomcat6運行在jdk6上,然后你寫的軟件也應該是jdk6編譯的。這樣會極大避免錯誤。當然,這並不是絕對要求,因為1.7也是java,1.6也是java。新版本要兼容舊版本。有些時候,低版本的軟件可以運行在高版本的環境上,但是我們應該盡量避免這樣做,除非你對版本的控制了然於胸。

二、JDK的相關問題
(1)下載
    我並不教給你怎么安裝jdk,你能在網上找到各種教程。我想告訴你怎么使自己對所有環節都了然於胸,都清楚,不迷糊。
    首先,我們去官網下載正版的jdk。搜索一下“jdk”,第一個結果就是www.oracle.com的英文結果。點擊進去,是jdk下載頁面。“官網總是將最新的版本掛在首頁,並且告訴你最新的最穩定版本是什么,同時一定給你提供舊版本的下載入口”。
    頁面上顯示的是1.8的下載,我們不下載1.8,我們要先裝1.6.把頁面拉到底,找到“Java Archive”,在很多開原網站,都可以找到“Archive”的鏈接,它是“存檔”的意思,也就是說,所有歷史文檔都存在這里(並且組織的很整齊)。點擊鏈接你就可以找到javase6的下載地址。
  這里有很多版本,既分操作系統又分64位和32位,同時還有“6u38”這種小版本號的區別,u38是第38次更新的意思,隨便選一個就可以了,大同小異。記得去接受人家的協議,人家讓你注冊你也注冊吧,不要太懶。
    鄭重提示:從網盤或者網站下載jdk這種軟件,都是可恥的,就好像在買黃牛票一樣,況且這里的軟件可不像黃牛賣的票那樣難得到,你為什么要偷這種懶呢?從其它途徑下載,一點也不規范,還不安全。
    另外,下載jdk這個教程,也適用於其它任何軟件,希望你能記住方法,養成習慣。以后不再贅述。
(2)安裝
    首先,明確一個問題。jdk可以同時安裝很多個,是互不干擾的。
   我們點擊1.6的安裝包,在選擇軟件組件時,將jre去掉。jre是java runtime environment(java運行環境),是運行這個版本的java程序的虛擬機。jdk是java development kit(java開發工具),是能編譯你寫的java文件的工具,同時也帶有jre。因此其實額外的jre是多余的,我們把它去掉吧。
   另外,還有一個jdk源代碼的選項,這個我們保留。占不了多大地方,以后可能會用到。
   假如我們將jdk1.6安裝在了D/jdk/1.6,然后“1.6”文件夾下面就是bin之類的文件夾。接下來,我們可以如法炮制,將jdk1.7下載安裝在D/jdk/1.7。
  這樣我們就安裝了很多個jdk。接下來就配置環境變量吧。你希望默認的環境變量是什么版本,就將JAVA_HOME設置為什么版本。比如1.6
 JAVA_HOME=D/jdk/1.6
另外根據網上的步驟,配置classpath和path就可以了。如果你想切換默認jdk,把javahome改掉就行了。默認jdk是什么?假如你下載並解壓了tomcat,你點擊它的bin下面的startup.bat,有時候不能運行。為什么?因為你么有java運行環境,沒有配置默認jdk啊。所以,配置默認jdk后,如果你電腦上安裝的各種java軟件沒有進行特殊配置,都會使用默認的jdk來運行。

三、Eclipse的問題。
(1)Eclipse和jdk的版本。
我們知道,Eclipse其實也是java開發的軟件。那么就有我們之前說過的問題了。
假如你下載的Eclipse是jdk1.7編譯的,但是你是jdk1.6的環境,肯定無法運行。怎么識別eclipse的jdk版本呢?
官網的我沒找到,但是這篇博客介紹的應該夠你用了
http://blog.csdn.net/yuwenlanleng/article/details/59057450
我們安裝Eclipse,那么系統上的jdk不能太低。
(2)Eclipse的插件版本
Eclipse的插件,是需要和Eclipse能兼容的。也就是說,我們的Eclipse如果是1.6的jdk編譯的,那么插件也應該是1.6的jdk編譯的。否則,安不上,或者不能用,只能換插件版本。如果插件不能換,那只能根據插件的jdk版本,換Eclipse了。

怎么看插件的版本?在這里我粘貼一下以前做的 筆記吧
————————————————————————————————————————————————————
使用7zip或者winrar打開插件的jar文件,選取任意一個class文件拷貝出來。使用jdk自帶的反編譯命令javap,查看編譯此class的jdk版本。
首先將class拷貝到jdk的bin目錄,並在此目錄下運行命令行(這兩個操作都是為了方便)。
例如:
D:\JDK\jdk1.7_64\bin>javap -verbose Activator.class
Classfile /D:/JDK/jdk1.7_64/bin/Activator.class
  Last modified 2014-12-13; size 1349 bytes
  MD5 checksum ebc57ce573f622b89267b0e8a47d00b1
  Compiled from "Activator.java"
public class org.apache.hadoop.eclipse.Activator extends org.eclipse.ui.plugin.AbstractUIPlugin
  SourceFile: "Activator.java"
  minor version: 0
  major version: 51
  flags: ACC_PUBLIC, ACC_SUPER

這里是jdk版本和版本號的對照表
            十六進制     十進制

JDK1.5      31          49

JDK1.6      32           50

JDK1.7      33          51

JDK8       34         52

我這里是51,因此知道此插件是用1.7編譯的。那么安裝插件的eclipse肯定也需要是1.7編譯的。
————————————————————————————————————————————————————

另外還有一個重要的問題,我們在下載eclipse時,發現它有很多版本。有standard的,有javaee的。
要明確一個概念,eclipse是基礎,其它功能全是插件。也就是說他們大同小異,如果你自己不擅長安裝插件,那么可以根據它提供的各種版本來下載具體想要的。如果你擅長配置插件,可以安裝比較簡單的版本。
(3)Eclipse所能開發的軟件的版本。
我們知道了,Eclipse是依賴於系統的jdk版本才能運行的,那么我們安了jdk1.6的Eclipse就不能開發jdk1.7的應用了嗎?
當然不是!Eclipse能開發什么版本,和他自己是什么版本沒關系。
我們可以在Eclipse的windows>preference>java>installed jre里面配置開發應用時使用的默認jdk版本。這個版本可以是任意的。
另外,在項目上,我們可以右鍵>properties>java compiler來設置這個項目所用的編譯版本的jdk。這就是配置我們的項目是被什么版本的jdk編譯。
我們的項目也應該引用被編譯版本的jdk對吧?右鍵項目>build path .也就是配置構建路徑,然后添加你需要的版本的jre的庫。

(4)Myeclipse
    Myeclipse是eclipse的一個插件,你可能覺得疑惑。打個比方,有一種把iphone套起來的充電寶,我說它是手機的配件,你應該能理解吧?那么你就應該明白為什么myeclipse竟然是eclipse的插件了,盡管它外觀看起來像是一個軟件,好像eclipse才是它的插件。
    Myeclipse都帶有一個jdk,在binary文件夾下。注意,這個jdk的版本,是這個myeclipse被編譯的版本,同時也是這個myeclipse運行時所用的jre(它不使用系統默認的jdk,而是用自己帶的)。myeclipse運行在什么版本的jdk上,是可以配置的,配置方式是修改myeclipse.ini文件。打開之后你就會明白怎么配置了,把它默認的jdk目錄改成你的就可以了。
    每個版本的myeclipse對應什么版本jdk,可以通過上述方法來查看。
四、多版本並存的問題
我們可能在開發時,同時開發好幾個版本的項目,那么,我們要在eclipse中,同時配置tomcat的6.0版本和7.0版本。
我們也可能同時使用不同版本的插件,那么我們需要下載不同版本的eclipse同時使用。eclipse是不沖突的。但是要注意,各自配置一個工作空間,因為不同版本的工作空間是不一樣的。
有人可能用的myeclipse。這是一個收費軟件,怎么讓兩個版本的myeclipse同時運行,就要你自己去研究了。網上有解決方案。

五、最后的最后,我們回頭看一下源碼的問題
這個額問題我們永遠放在最后,因為學習源碼確實是困難的,是不太常用的。
在你下載任何開源軟件時,都應該順手下載它的源碼,並且在你的eclipse中,將源碼鏈接到jar包上,以便你開發時,隨時點擊進入查看源碼。eclipse的源碼配置,此處不贅述,請自行搜索。


今天的文章就到這里,內容有點長,有點復雜。感謝耐心閱讀,希望對你有所幫助。歡迎多多留言批評建議。


免責聲明!

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



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