2013-10-30 18 views
7

Ho aggiunto alcune librerie al mio progetto JavaEE e quindi distribuito l'applicazione funziona. Ho modificato qualcosa e ho ottenuto questo messaggio di errore in Eclipse:Errore di distribuzione Glassfish 4

Cannot Deploy ProjectName 
deploy is failing=Error occurred during deployment: Keys cannot be duplicate. 
Old value of     this key property, nullwill be retained. 
Please see server.log for more details. 
java.lang.LinkageError: loader (instance of 
org/glassfish/web/loader/WebappClassLoader): 
attempted duplicate class definition for name: 
"org/glassfish/web/loader/JdbcLeakPrevention" 
loader (instance of org/glassfish/web/loader/WebappClassLoader): attempted duplicate 
class definition for name: "org/glassfish/web/loader/JdbcLeakPrevention" 

ho fatto qualche ricerca e ho scoperto che non è un bug Eclipse. Sto lavorando con Kepler ma ho provato anche con Juno. Ho lo stesso messaggio di errore. Ho scaricato Glassfish 3.1.2.2 e il messaggio è sparito.

Perché ricevo questo messaggio?

+0

Di recente è passato da JDK7 a JDK8. Questo errore sembra essere visto in quel contesto, come in: https://groups.google.com/forum/#!msg/adopt-openjdk/DzRXD2fx1d0/Lt0aEVaUteQJ – VonC

+0

@VonC No, sto usando JDK 7 Aggiornamento 13 – galovics

+0

Qualche possibilità di eseguire l'aggiornamento all'ultimo JDK7 (u45) per vedere se il problema persiste? – VonC

risposta

0

Provare a pulire la directory di connessione automatica, riavviare il server. Pulire anche la directory di distribuzione del progetto.

+0

È stato fatto. Niente cambia. – galovics

3

Avevo anche questo problema, e stavo anche usando la libreria SVNKit più le sue dipendenze, quindi sembra che ci sia un qualche tipo di conflitto lì. Posso aggirarlo pulendo la cartella osgi-cache & riavviando glassfish, ma devo farlo ogni volta che voglio distribuire, quindi non è una grande soluzione.

+1

https: //agritsik.wordpress.com/2015/08/26/how-to-clear-glassfish-cache-helps-to-resolve-deployment-exception-inconsistent-module-state/ – shareef

+0

L'articolo collegato è vuoto (vedi commento sotto l'articolo). Nuova soluzione apprezzata. – DaRich

4

Ho avuto lo stesso errore. Ho fermato il server GLassfish e poi ho pulito il progetto (Progetto -> Pulisci ...). Avviato il server e funzionato

0

Era in qualche modo correlato a un singolo bean @Singleton. Convertito in @Stateless e tutto ha funzionato bene. Non del tutto sicuro perché questo è accaduto ...

0

Nel mio Glassfish file di log che dice:

Applicazione con il nome WS è già registrato. Specificare che la ridistribuzione deve essere forzata o ridistribuire l'applicazione. Oppure, se si tratta di una nuova distribuzione, scegliere un nome diverso

seguito le mie istruzioni logs ho schierato l'applicazione con con --force opzione:

asadmin deploy --force=true ws.war 

e ha funzionato. Ulteriori informazioni su deploy --force=true

1

Provare a rimuovere tutti i file in osgi-cache e nelle directory generate. Ha funzionato per me.

0

i seguenti passaggi ha funzionato per me.

  1. fermare il server GlassFish (se in esecuzione)
  2. uccidere tutto il processo Java (usando terminale o il monitor di attività)
  3. Ora provate ridistribuire.
Problemi correlati