这篇文章我们来探讨一下关于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的源码配置,此处不赘述,请自行搜索。

今天的文章就到这里,内容有点长,有点复杂。感谢耐心阅读,希望对你有所帮助。欢迎多多留言批评建议。

JDK、Eclipse、Myeclipse、Tomcat等各种软件的版本详解(写给对版本和兼容性问题焦头烂额的你)的更多相关文章

  1. JDK+Eclipse+MyEclipse+tomcat的安装与配置

    以下我所使用的各软件版本为:JDK(1.6):eclipse(3.2.2):myEclipse(5.5.1GA):tomcat(5.5.12): 一.安装JDK: 下载完JDK(1.6)后双击进行安装 ...

  2. Java eclipse Myeclipse tomcat安装及配置

    Java eclipse Myeclipse tomcat安装及配置作者:天涯 来源:中国自学编程网 发布日期:1223857747目前,开发Java网页程序,最流行的就是用Myeclipse来进行编 ...

  3. Eclipse IDE for C/C++ Developers安装配置详解

    Eclipse IDE for C/C++ Developers安装配置详解(转) 转自:http://hi.baidu.com/ltb6w/item/986532efd712460f570f1ddc ...

  4. myeclipse打开jsp后卡死的问题详解

    myeclipse打开jsp后卡死的问题详解   1,打开 Window -> Preferences -> General -> Editors -> File Associ ...

  5. Tomcat中的Server.xml配置详解

    Tomcat中的Server.xml配置详解 Tomcat Server的结构图如下: 该文件描述了如何启动Tomcat Server <Server> <Listener /> ...

  6. Nginx/LVS/HAProxy 负载均衡软件的优缺点详解

    Nginx/LVS/HAProxy 负载均衡软件的优缺点详解   Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验 ...

  7. 总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解

    总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解 PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使 ...

  8. Nginx/LVS/HAProxy负载均衡软件的优缺点详解【转】

    转自 (总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解http://www.ha97.com/5646.html PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均 ...

  9. (总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解

    Nginx/LVS/HAProxy负载均衡软件的优缺点详解 PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均 ...

  10. 《Tomcat与Java Web开发技术详解》思维导图

    越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 ...

随机推荐

  1. js或者jq的tab切换

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  2. C# 文字转换最简单的方法

    引用Microsoft.VisualBasic string text=Strings.StrConv("需要转换的文字", VbStrConv.TraditionalChines ...

  3. 2017寒假零基础学习Python系列之 印子

    今日为2017年2月6日,据在慕课网上学习廖雪峰Python教程也快一周左右了,完全是零基础入门Python,大一上学期粗浅的接触学习了C语言,早就听说过Python语言的大名,又想把Python的爬 ...

  4. React 实践项目 (一)

    React在Github上已经有接近70000的 star 数了,是目前最热门的前端框架.而我学习React也有一段时间了,现在就开始用 React+Redux 进行实战! 项目代码地址:https: ...

  5. TCP 连接重置漏洞 - CVE-2004-0230讲解

    TCP 连接重置漏洞 - CVE-2004-0230: IPv6 实施中存在一个拒绝服务漏洞,该漏洞可能允许攻击者向受影响系统发送特制的 TCP 消息. 成功利用此漏洞的攻击者可能会导致受影响系统重置 ...

  6. Django学习(五)---模板扩展,开发博客页面

    (一)博客主页面开发 1.模板中可使用for循环,语法格式为: {% for xs in xxs %} HTML语句 {% endfor %} 2.更改app下的views.py, 获取后台model ...

  7. JS - 实现简单易用的倒计时 x 天 x 时 x 分 x 秒

    <script> (function () { var tian = document.getElementsByClassName('JS-tian')[0]; var shi = do ...

  8. win10 设置默认输入法为英文,ctrl +shift切换中文

    控制面板-更改输入法,这个界面出现的是电脑现在安装的语言,每个语言中可能有多个输入法,比如我的有微软的和qq的,谁在上谁就是系统的默认语言(本人当然是中文在上),英文中有美式键盘. 如果想要电脑启动的 ...

  9. linux文件系统及bash基础特性

    linux文件系统 一.根文件系统 linux被识别的第一个被称为根之间关联的文件系统叫做根文件系统(rootfs),其他分区要想被读到,需要挂载到根目录的某个挂载点(根的子目录)上.根文件系统至关重 ...

  10. (转)eclipse导入Gradle项目

    场景:最近在学习spring实战(第4版),下载完源码后发现不是maven工程,使用Gradle构建. 1准备工作 1.1 安装插件 打开eclipse,Help——Marketplace,搜索bui ...