2010-04-02 17 views
6

Jakie kroki należy wykonać w przypadku migracji kodu z JDK 1.5 do 1.6.Migracja kodu z JDK 1.5 na 1.6

Kroki następuje:

  1. Zmieniono gromadzeniu skrawku Projektu JDK1.6
  2. Zmieniono Compiler jako 6
  3. Czyste i wdrożyć projekt
  4. byłem coraz błąd kompilacji jak
 
     *** 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

Wygląda na to, że jest to błąd w używanym module zaćmienia. Proponuję poprosić o forum, które konkretnie obsługuje ten produkt. To nie jest ogólne pytanie w języku Java, nie powinieneś oczekiwać, że będziesz musiał zrobić coś, aby przeprowadzić migrację kodu. –

+0

Otrzymuję tę samą wiadomość po zaimportowaniu projektu do nowej instancji Eclipse (więc nie ma zmian wersji itp.). Niektóre badania goszczące sugerują, że czyszczenie projektu często działa (nie dla mnie). Myślę, że nie podoba Ci się to, że jest to problem specyficzny dla modułu, ale myślę, że prawdopodobnie jesteś w odpowiednim parku, ponieważ jest to związane z tym, jak Eclipse ładuje kontekst. Zwróćcie uwagę, w moim konkretnym przypadku, nie mam pojęcia, jak to naprawić. – rhuffstedtler

Odpowiedz

0

Pobierz i zainstaluj pakiet JDK 6. Zaktualizuj dowolne zmienne środowiskowe, takie jak JAVA_HOME, JDK_HOME. Upewnij się, że twój IDE wskazuje na nową bibliotekę (większość IDE zrobi to automatycznie, jeśli uruchomi się ponownie po zaktualizowaniu zmiennych środowiskowych). Zaktualizuj ustawienia projektu, aby odpowiednio używać JDK 6 w IDE dla każdego projektu.

1

Przekompiluj z nowym JDK, sprawdzić ostrzeżenia (być może niektóre z klas lub metod są przestarzałe), należy sprawdzić, czy praca aplikacji, jak oczekiwano.

15

W zdecydowanej większości przypadków nie trzeba robić nic. Nawet rekompilacja nie jest bezwzględnie konieczna.

Nieliczne istniejące niezgodności między Java 5.0 i 6.0 są udokumentowane w JDK 6 Adoption Guide.

+0

+1: Wymienienie przewodnika Adopcja – Everyone

0

To zależy od aplikacji przypuszczam oto lista nowych funkcji do 1,6 wszystko jednak Twój kod powinien działać dobrze.

Link java 1.6 features

2

Kod, który prowadził na Java 1.5 będzie działać na 1.6 bez żadnych modyfikacji (w nie używali żadnych wewnętrznych API to jest). Publiczne api Java są zawsze kompatybilne w przód.

0

zrobiłem następujące i działa dobrze

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

Naprawiłem podobny błąd, zastępując:

<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"> 

z:

<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"> 

Kiedy zrobiłem to zastępstwo w internecie. xml, ten CHKJ3000E zniknął.

Powiązane problemy