簡體   English   中英

從JDK 1.5到1.6的代碼遷移

[英]Code Migration from JDK 1.5 to 1.6

將代碼從JDK 1.5遷移到1.6時要遵循的步驟是什么?

遵循的步驟:

  1. 將項目的構建修補程序更改為JDK1.6
  2. 將編譯器更改為6
  3. 清理並部署項目
  4. 我收到編譯錯誤
*** 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)

在絕大多數情況下,您根本不需要做任何事情。 即使重新編譯也不是絕對必要的。

JDK 6采用指南中記錄了Java 5.0和6.0之間存在的一些不兼容性。

在Java 1.5上運行的代碼將在1.6上運行而不進行任何修改(在您沒有使用任何內部API的情況下)。 公共Java API始終向前兼容。

使用新的JDK重新編譯,檢查警告(可能不推薦使用某些類或方法),檢查應用程序是否按預期工作。

我做了以下,它工作正常

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

下載並安裝JDK 6.更新任何環境變量,如JAVA_HOME,JDK_HOME。 確保您的IDE指向新庫(如果在更新環境變量后重新啟動,大多數IDE將自動執行此操作)。 更新項目設置以分別在IDE中為每個項目使用JDK 6。

這取決於你的應用程序我想這里是1.6所有代碼的新功能列表,但應該工作正常。

鏈接java 1.6功能

我通過替換修復了類似的錯誤:

<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已經消失了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM