這篇文章咱們來探討一下關於JDK、Eclipse、Myeclipse、Tomcat的版本問題。
1、關於版本的幾個概念
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。新版本要兼容舊版本。有些時候,低版本的軟件能夠運行在高版本的環境上,可是咱們應該儘可能避免這樣作,除非你對版本的控制瞭然於胸。
2、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來運行。
3、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,能夠經過上述方法來查看。
4、多版本並存的問題
咱們可能在開發時,同時開發好幾個版本的項目,那麼,咱們要在eclipse中,同時配置tomcat的6.0版本和7.0版本。
咱們也可能同時使用不一樣版本的插件,那麼咱們須要下載不一樣版本的eclipse同時使用。eclipse是不衝突的。可是要注意,各自配置一個工做空間,由於不一樣版本的工做空間是不同的。
有人可能用的myeclipse。這是一個收費軟件,怎麼讓兩個版本的myeclipse同時運行,就要你本身去研究了。網上有解決方案。
5、最後的最後,咱們回頭看一下源碼的問題
這個額問題咱們永遠放在最後,由於學習源碼確實是困難的,是不太經常使用的。
在你下載任何開源軟件時,都應該順手下載它的源碼,而且在你的eclipse中,將源碼連接到jar包上,以便你開發時,隨時點擊進入查看源碼。eclipse的源碼配置,此處不贅述,請自行搜索。
今天的文章就到這裏,內容有點長,有點複雜。感謝耐心閱讀,但願對你有所幫助。歡迎多多留言批評建議。java