这篇文章我们来探讨一下关于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. 【Android Developers Training】 31. 序言:共享简单数据

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  2. 亲测有效!一种完美动态阈值白平衡算法 Java实现。

    几年没发文了,重新拿起技术! 最近做图像处理,要自动处理颜色平衡问题,很多什么直方图优化之类的,都不完美.所以在博客园找到了这个前辈的文章. http://www.cnblogs.com/Images ...

  3. Java基础(2)-基础类型

    java基础类型 基础类型 package knowledge.base; public class Properties { /** * 整型 * int 4字节 -2 147 483 648 ~2 ...

  4. python2和python3中的类

    经典类与新式类 例如: A B C D 四个类 D 包含 BC :   B和C分别包含A py2 在经典类中是按深度优先来继承 例如: D中查找B,B没有从A中查找 新式类中是按广度优先来查找继承的 ...

  5. Python 操作 MYSQL

    本文介绍了 Python 操作 MYSQL.执行 SQL 语句.获取结果集.遍历结果集.取得某个字 段.获取表字段名.将图片插入数据库.执行事务等各种代码实例和详细介绍,代码居多, 是一桌丰盛唯美的代 ...

  6. 使用intelliJ创建 spring boot + gradle + mybatis站点

    Spring boot作为快速入门是不错的选择,现在似乎没有看到大家写过spring boot + gradle + mybatis在intellij下的入门文章,碰巧.Net同事问到,我想我也可以写 ...

  7. [问题解决]linux sudo xxx:command not found

    题外话 软件的安装在linux下主要分为两种.一种是通过包管理器例如ubuntu的apt-get xxx,另一种是自己手动安装.通过包管理器安装的,基本开箱即用,无需配置,但是存在一个问题,有时候无法 ...

  8. FineBI如何在web页面中嵌入式集成

    1. API嵌入集成 1.1 描述 FineBI是基于B/S架构的浏览器/服务器模式,现在用户开发的系统基本上趋向于B/S架构的浏览器/服务器模式,因此有些页面完全可以直接采用web页面嵌入式集成的简 ...

  9. c++调用python系列(1): 结构体作为入参及返回结构体

    最近在打算用python作测试用例以便对游戏服务器进行功能测试以及压力测试; 因为服务器是用c++写的,采用的TCP协议,当前的架构是打算用python构造结构体,传送给c++层进行socket发送给 ...

  10. docker - 修改镜像/容器文件的在宿主机上的存储位置(转)

    背景 之前在使用docker的时候,由于启动container的时候用的是默认的mount(路径为 /var/lib/docker),这个目录对应的硬盘空间有限,只有200G左右.现在随着程序运行,有 ...