Arquivos obsoletos Spring / Glassfish 3.1.2

Atualmente estou desenvolvendo um aplicativo usando Spring Web MVC e Spring Security.

Eu posso implantá-lo no Glassfish 3.1.2, mas quando eu quero reimplantar após a correção de alguns bugs, eu recebo este erro:

WARNING: Exception while locating sub archive: XXX.war WARNING: DPL8031: Ignoring XXX_war/ because the containing archive C:\dev\apps\glassfish3\glassfish\domains\domain1\applications\XXX recorded it as a pre-existing stale file 

.glassfishStaleFiles contém:

 XXX_war/ XXX_war/WEB-INF/ XXX_war/WEB-INF/lib/ XXX_war/WEB-INF/lib/spring-web-3.2.2.RELEASE.jar 

E, de fato, o spring-web-3.2.2.RELEASE.jar ainda existe e, quando tento removê-lo, recebo uma mensagem que diz que ainda está em uso pela JVM.

Encontrei este link: https://www.java.net//forum/topic/glassfish/glassfish/stale-files-when-undeploying-web-app-glassfish-3

Minha pergunta é: alguém tem uma solução alternativa para esse problema?

É muito chato ao desenvolver …

Para corrigir este problema, tenho uma solução mais fácil:
Supondo que seu arquivo EAR esteja correto:

  1. pare o servidor
  2. goto seu diretório EAR: C: \ java_apps \ glassfish3 \ glassfish \ domínios \ domínio1 \ aplicativos \ XXX_EAR
  3. exclua o arquivo chamado .glassfishStaleFiles
  4. reiniciar o servidor e reimplementar o arquivo EAR

Foi o truque para mim.

Ok, depois de alguns dias de pesquisa …

Eu finalmente encontrei como me locomover.

Minha hierarquia de projetos era:

 XXX.ear --- lib/ ------ XXX_Entities.jar --- XXX_Ejb.jar --- XXX_EjbClient.jar --- XXX_Web.war ------ WEB-INF/lib/ --------- *libraries* 

Agora :

 XXX.ear --- lib/ ------ XXX_Entities.jar ------ *libraries* --- XXX_Ejb.jar --- XXX_EjbClient.jar --- XXX_Web.war 

Em seguida, adicione a pasta lib à assembly de implementação EAR e ela funciona . Glassfish descarrega corretamente quando desimplantar.