2010-04-02 141 views
6

將代碼從JDK 1.5遷移到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) 
+2

這似乎是您正在使用的eclipse模塊中的錯誤。我建議你問一個具體支持這個產品的論壇。這不是一個普通的Java問題,你不應該指望必須做任何事情來遷移你的代碼。 – 2010-04-02 08:32:00

+0

將項目導入Eclipse的新實例後,我收到了相同的消息(因此沒有更改版本等)。一些谷歌搜索表明,清理項目往往有效(不適合我)。我認爲你已經脫離了它作爲一個模塊特定問題的軌道,但我認爲你可能處於正確的位置,它與Eclipse如何加載上下文有關。請注意,在我的情況下,我還沒有真正想出如何修復它。 – rhuffstedtler 2012-10-30 16:49:47

回答

0

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

1

用新的JDK重新編譯,檢查警告(可能有些類或方法已被廢棄),檢查應用程序是否按預期工作。

15

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

Java 5.0和6.0之間存在的一些不兼容性記錄在JDK 6 Adoption Guide中。

+0

+1:提及採用指南 – Everyone 2010-04-02 08:00:17

0

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

鏈接java 1.6 features

2

是運行在Java 1.5的將在1.6無需任何修改即可運行(在你沒有使用任何內部API即是)的代碼。公共Java api始終向前兼容。

0

我沒下,它工作正常

Changed the build Patch of Project as JDK1.6 
Changed the Compiler as 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"> 

當我做這個替代的網站。 xml,這CHKJ3000E已經消失。