从JDK 1.5到1.6的代码迁移

时间:2010-04-02 07:24:41

标签: java eclipse

将代码从JDK 1.5迁移到1.6时要遵循的步骤是什么?

遵循的步骤:

  1. 将项目的构建修补程序更改为JDK1.6
  2. 将编译器更改为6
  3. 清理并部署项目
  4. 我的编译错误为
  5.        *** ERROR ***: Thu Apr 01 05:17:06 PDT 2010    org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException: WEB-INF/web.xml
        Stack trace of nested exception:
        java.lang.ClassCastException: org.eclipse.jst.javaee.web.internal.impl.WebAppDeploymentDescriptorImpl cannot be cast to org.eclipse.jst.j2ee.webapplication.WebApp
            at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.War22ImportStrategyImpl.loadDeploymentDescriptor(War22ImportStrategyImpl.java:87)
            at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.War22ImportStrategyImpl.importMetaData(War22ImportStrategyImpl.java:81)
            at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.getDeploymentDescriptor(WARFileImpl.java:145)  
    
    
    
    *** ERROR ***: Thu Apr 01 05:17:06 PDT 2010    org.eclipse.wst.validation.internal.core.ValidationException: CHKJ3000E: WAR Validation Failed: org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException: WEB-INF/web.xml
            at org.eclipse.jst.j2ee.model.internal.validation.WarValidator.validateInJob(WarValidator.java:343)
            at org.eclipse.jst.j2ee.internal.web.validation.UIWarValidator.validateInJob(UIWarValidator.java:111)
            at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:75)
            at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
    

7 个答案:

答案 0 :(得分:15)

在绝大多数情况下,您根本不需要做任何事情。即使重新编译也不是绝对必要的。

{5}}中记录了Java 5.0和6.0之间存在的一些不兼容性。

答案 1 :(得分:2)

在Java 1.5上运行的代码将在1.6上运行而不进行任何修改(在您没有使用任何内部API的情况下)。公共Java API始终向前兼容。

答案 2 :(得分:1)

使用新的JDK重新编译,检查警告(可能不推荐使用某些类或方法),检查应用程序是否按预期工作。

答案 3 :(得分:0)

下载并安装JDK 6.更新任何环境变量,如JAVA_HOME,JDK_HOME。确保您的IDE指向新库(如果在更新环境变量后重新启动,大多数IDE将自动执行此操作)。更新项目设置以分别在IDE中为每个项目使用JDK 6。

答案 4 :(得分:0)

这取决于您的应用程序我想这里是1.6所有代码的新功能列表,但应该可以正常工作。

链接java 1.6 features

答案 5 :(得分:0)

我做了以下,并且工作正常

Changed the build Patch of Project as JDK1.6
Changed the Compiler as 6 

答案 6 :(得分:0)

我通过替换:

修复了类似的错误
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
     version="2.4">

使用:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     version="3.1">

当我在web.xml上进行此替换时,这个CHKJ3000E已经消失了。