Class not found exception -> ServletContextListener

Olá pessoal…
Estou com um problema que apesar de parecer comum, é diferente do que acontece com outras pessoas…

Na hora de iniciar o JBoss e carregar a aplicacao web ocorre um problema …

[[/emm_web]] Error configuring application listener of class listeners.EMMInitialize
java.lang.ClassNotFoundException: listeners.EMMInitialize
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358

e o engracado que eu tenho o EMMInitialize no pkg listeners.

bom, para deixar claro colocarei os arquivos…

Web.xml


Initialize EMM environment application
listeners.EMMInitialize

listeners.EMMInitialize.java

 package listeners;

 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
 import javax.servlet.http.HttpSessionEvent;
 import javax.servlet.http.HttpSessionListener;

 import org.apache.log4j.PropertyConfigurator;

 public class EMMInitialize implements ServletContextListener {
	
	public EMMInitialize() {  
		System.out.println("Construtor de EMMInitializeService");
	}

	public void contextDestroyed(ServletContextEvent arg0) {
		System.out.println("Contexto Destruido");
	}

	public void contextInitialized(ServletContextEvent arg0) {
		System.out.println("Contexto Inicializado");
	}

Para compilar esta aplicacao eu incluo no classpath o arquivo ‘servlet-api.jar’ do diretorio client do JBoss
Para o deploy eu crio o war com a seguinte estrura de diretorios
emm.war

  • classes/
    — listeners/
    ------ EMMInitializer.class
  • WEB-INF/
    — web.xml

nao mostrei todos os arquivos e diretorios, soh os que interessam para o funcionamento do listener.

Alguem poderia ter uma idéia do que possa estar ocorrendo? Obrigado.

tem sim… o jboss usa uma boa parte da api j2ee para seus servicos internos

ainda nao sei o que esta acontecendo… :confused:

pqppppppp… verdade!! que asno eu… haeuhaihe

a ansia eh tanta que ngn ve mais nada, deu ate vergonha… ahuiahiai

valeu aeee…

sem contar que o nome da sua classe é EMMIntializeR e voce esta esquecendo de colocar esse R no final quando digita no web.xml

Que estranho a sua classe se chama: EMMInitialize mas ali na estrutura de diretorios a classe foi criada EMMInitializer.class . EMMInitialize com R no final

Qual o nome correto da classe ?

Nao, nao… esse ai tava certo ja… eu que escrevi ele errado aqui no forum ( :?)…
Pela mor… olhei umas duzentas x para esse web.xml para ver se tava certo…

esqueci completamente da estrutura de diretorios… como estou usando o ant, o build do eclipse esta desativado, entao nem percebi diferenca…

isso prova que a coisa mais simples pode nos f** (ferrar) hehe… :slight_smile:

valeuu…

Olha, to sem o Jboss aqui agora, mas olha se vc tem essa interface no jar a que vc se referiu, é possivel que vc só tenha a interface ServletContextListener no j2ee.jar.

Espera, para tudo!!! O teu diretório classes deve ficar dentro do WEB-INF.