`

eclipse同时使用两个不同版本Jdk引起的问题

阅读更多

     公司的框架是在太老了,是2004年甚至更早的时候开发的框架,基于jdk1.4,然后就一直这样用着,由于运行还算稳定,而且完整更换到新的框架工作量是在太大,而且也有风险,无人愿意承担责任,目前还继续这样用。但考虑到发展的需要,我们老大让我研究公司的另外一套东西,这是一个IDE,主要由页面设计器和工作流设计器组成,基于jdk1.5,Struts1.x。因此,我的机器上实际上由两个jdk,一个jdk1.42,一个是jdk1.5。

      问题是由enum引起的,在我们的项目里,由于基于1.42,因此框架的核心代码里由用"enum"做变量的情况。如java.util.Enumeration enum = null;显然,这在jdk1.42下是没有问题的。但jdk1.5下,enum已经最为了关键字,这样的代码根本无法编译通过。我把Path和Java_Home指向了jdk1.5,然后启动了Eclipse,这样,Eclipse就在Jdk1.5下构建本应运行在jdk1.4下的工程,我一看不对,就立刻取消了编译,关闭了eclipse。重新把Path和Java_Home指向jdk1.4,再次启动eclipse,发现enum的地方过不去了。可是,如果在命令行了java -version,显示的的确是jdk1.4的版本信息。

     我重新安装了操作系统,这次只有jdk1.42,打开eclipse,发现代码里由enum为变量名的地方还是过不去。我就在eclipse里重新建立一个项目,写个测试代码,String enum = "";发现这行代码无法编译,enum为关键字。但现在只有jdk1.42啊!

     换个工作区试验一下,打开eclipse,新建一个目录,作为工作区,在写个测试代码,String enum = "";立刻就编译过去了。问题水落石出,看来是曾经在jdk1.5下运行eclipse,对我项目所在的workspace做了一些设置,以后即使再次使用jdk1.4,也无法彻底消除jdk1.5曾经对工作区做的改动。
     看来又要从cvs上update代码了。

2
0
分享到:
评论
4 楼 DavyLee 2008-12-29  
呵呵,见笑了,的确是我的事,自己弱,一直把eclipse当编辑器用
3 楼 javaeyebird 2008-12-28  
eclipse支持多个jdk版本共存,你没有正确设置而已

首先eclipse本身使用啥jdk没有任何关系
在Preference里设置整个workspace的jdk:Preferences->Java->Installed JREs,把1.4和1.5的都加上

然后可以为每个工程都指定一个jdk版本:
工程的Properties->Java Build Path->Libraries->Add Library->JRE System Library->Execution Environment里选J2SE 1.4/1.5
工程Properties->Java Compiler->Enable project specific settings->JDK Compiliance选1.4/1.5
2 楼 kaiman 2008-12-28  
没在项目里设一下编译选项的compliance level吗?
1 楼 njuptsoz 2008-12-28  
增加点经验了:)

相关推荐

    eclipse和jbuilder冲突解决方法

    这种情况下,如果两个IDE对JRE/JDK版本的要求不一致,或者配置方式不同,就容易引发冲突。具体来说,冲突主要来源于以下几个方面: 1. **JRE/JDK版本不一致**:Eclipse和JBuilder可能各自依赖于特定版本的JRE/JDK,...

    eclipse-java-2021-03的windows版本压缩包(.exe双击无响应的可以用这个)

    总的来说,"eclipse-java-2021-03的Windows版本压缩包"为遇到.exe文件问题的用户提供了一个可靠的替代方案,通过手动解压和运行,避免了潜在的安装问题。同时,了解Eclipse的运行需求、配置方法和插件系统,能帮助...

    JDK安装配置步骤

    目前,JDK分为Oracle JDK和OpenJDK两个主要分支,两者功能相近,但许可证和更新策略有所不同。根据个人需求选择适合的版本进行下载。 **二、安装JDK** 1. **双击安装包**:下载完成后,找到下载的.exe文件,双击...

    Eclipse使用插件时提示Plugin Error loading shared libraries

    这个问题可能由多种原因引起,包括但不限于缺失的依赖库、版本不兼容、系统环境设置错误或者插件本身的问题。以下是一些解决此类问题的方法和相关知识点: 1. **检查插件依赖**:首先,你需要确定是哪个插件导致了...

    Eclipse中编译Nutch-1.0

    即便解决了上述插件问题,Nutch-1.0仍可能面临由licensing issues引起的两个编译错误。解决这些问题涉及对`RTFParseFactory.java`中的代码进行修改: 1. **添加必要的导入语句**:在文件顶部增加`import org.apache...

    weblogic 在Eclipse中的配置.pdf

    确认设置后,Eclipse应该能在WLS JDK name列表中看到这个JDK。 配置完成后,你可以尝试在Eclipse中启动WebLogic服务器。通过工具栏的"Run/Stop/Restart MyEclipse Application Servers"下拉按钮,选择"WebLogic 9 -...

    解决eclipse启动时报错Failed to create the Java Virtural Machine.问题的方法

    5. **Eclipse版本问题**: - 如果你是在更新Eclipse或JDK后遇到这个问题,考虑回滚到之前的工作版本,或者尝试更新到最新稳定版。 6. **权限问题**: - 确保Eclipse和JDK安装目录的权限设置允许Eclipse访问。 7....

    软件安装手册

    - **Eclipse IDE**:尽管现在更倾向于使用Android Studio,但在当时Eclipse仍然是一个非常流行的开发环境。文档推荐使用Eclipse 3.7.x版本,因为它与ADT插件有更好的兼容性。 - **ADT (Android Development Tools)...

    OPhone开发环境搭建详解

    OPhone开发主要依赖Eclipse集成开发环境(IDE),以及OPhone SDK,这两个是搭建开发环境的基础。Eclipse是一款广泛使用的开源IDE,支持多种编程语言,对于OPhone开发,我们需要安装具有Android Developer Tools (ADT...

    myeclipse0经常出现卡死现象的解决设置.docx

    MyEclipse的卡死优化通常涉及到两个关键文件:`myeclipse.ini` 和Tomcat的JDK设置。 在`myeclipse.ini`文件中,可以调整Java虚拟机(JVM)的内存分配策略。文档中提到了`-XX:+UseParallelGC`参数,这是一个针对1.5 ...

    jboss7+EJB3环境搭建

    此过程分为两个主要部分:环境搭建和HelloWorld的实现。 首先,环境搭建部分涵盖了JBoss AS7的安装和配置,Eclipse集成开发环境的准备,以及JBossTools插件的安装。为了确保环境搭建成功,需要确保以下几点: 1. ...

    windows7 java环境变量配置

    这两个步骤对于运行Java程序、使用Java开发工具(如Eclipse或IntelliJ IDEA)至关重要。 首先,我们需要下载并安装JDK。JDK是Java编程的基础,它包含了编译器、调试器以及其他开发工具。访问Oracle官方网站...

    eclipse中自动生成javadoc文档的方法

    具体步骤是在Eclipse的项目列表中右键点击项目名称,选择Export(导出)选项,在弹出的导出对话框中找到java下的javadoc选项并选择,然后在接下来的Javadoc Generation对话框中需要特别注意两个地方:javadoc命令...

    tools&dt.jar

    标签简洁地指出了问题的核心——缺少这两个特定的JAR文件。 至于压缩包子文件的文件名称"a9be67c3d07042d29ceb915194ce3104",这看起来像是一个哈希值或者是文件的唯一标识。在实际操作中,您需要确保这个文件名...

    JVM内存问题最佳实践

    这两个虚拟机都能在Windows、Linux、Solaris等平台上运行。Sun Java虚拟机历史悠久,而BEA JRockit则以其高性能和稳定性著称。 - **HP Java虚拟机**:与SUN JDK基本兼容,但在HP UNIX上运行表现更佳,并且有一些独特...

    activemq配置

    5. **监听连接**:ActiveMQ 默认会监听两个端口,一个是开放的 OpenWire 协议端口(默认为 61616),另一个是 SSL 端口(默认为 61617)。 - **OpenWire 协议**:监听在 tcp://[hostname]:61616 上,用于非加密的...

    2020下半年软件开发工具上机实践.doc

    最后,请在ans.doc文档中说明你的安装与配置过程,然后分别把两个项目的界面贴图到ans.doc中,贴图中应同时包括Package Explorer、程序代码和运行结果。 (二)Eclipse基本应用(30分) 1. C++Project程序的开发与...

    基于SSM+mysql框架的高并发和商品秒杀项目源码+项目说明.zip

    你喜欢用什么就用什么,这里只是给出参考,不过不同的版本可能会引起各种不同的问题就需要我们自己去发现以及排查,在这里使用Maven的话时方便我们管理JAR包,我们不用跑去各种开源框架的官网去下载一个又一个的JAR包,...

    Android Studio使用指南

    4. 版本兼容性检查:通过检测,Android Studio可以发现应用代码中可能影响不同版本Android系统兼容性的问题,并给出建议。 5. 支持ProGuard和应用签名:ProGuard用于代码压缩和混淆,而应用签名是发布Android应用前...

Global site tag (gtag.js) - Google Analytics