2010-04-02 3 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, вы не должны ожидать ничего сделать, чтобы перенести свой код. –

+0

Я получаю то же сообщение после импорта проекта в новый экземпляр Eclipse (так что никаких изменений в версии и т. Д.). Некоторые поисковые запросы говорят о том, что очистка проекта часто работает (не для меня). Я думаю, что вы не в курсе, что это проблема с модулем, но я думаю, что вы, вероятно, находитесь в правильном шаге, поскольку это связано с тем, как Eclipse загружает контекст. Имейте в виду, что в моем конкретном случае я еще не понял, как это исправить. – rhuffstedtler

ответ

0

Загрузить и установить JDK 6. Обновите любые переменные среды, такие как JAVA_HOME, JDK_HOME. Убедитесь, что ваша IDE указывает на новую библиотеку (большинство IDE будут делать это автоматически, если перезапуск после обновления переменных окружения). Обновите параметры проекта, чтобы использовать JDK 6 в вашей среде IDE для каждого проекта соответственно.

1

Перекомпилируйте новый JDK, проверьте предупреждения (возможно, некоторые классы или методы устарели), проверьте, работает ли приложение как ожидалось.

15

В подавляющем большинстве случаев вам не нужно ничего делать. Даже перекомпиляция не является строго необходимой.

Несколько несовместимостей, существующих между Java 5.0 и 6.0, задокументированы в JDK 6 Adoption Guide.

+0

+1: для упоминания руководства по усыновлению – Everyone

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 ушел.

Смежные вопросы