NoClassDefoundError estranho

18 respostas
evertonsilvagomesjav

Pessoal alguem me ajuda a resolver isso, não sei o que é pois minha classe esta no projeto.

<06/02/2012 11h56min08s BRST> <Warning> <HTTP> <BEA-101162> <User defined listener com.sun.faces.config.ConfigureListener failed: java.lang.NoClassDefFoundError: Lvivo/entity/Promocao;.   
java.lang.NoClassDefFoundError: Lvivo/entity/Promocao;   
    at java.lang.Class.getDeclaredFields0(Native Method)   
    at java.lang.Class.privateGetDeclaredFields(Class.java:2259)   
    at java.lang.Class.getDeclaredFields(Class.java:1715)   
    at com.sun.faces.application.annotation.ManagedBeanConfigHandler.collectAnnotatedFields(ManagedBeanConfigHandler.java:242)   
    at com.sun.faces.application.annotation.ManagedBeanConfigHandler.getBeanInfo(ManagedBeanConfigHandler.java:151)   
    Truncated. see log file for complete stacktrace   
>   
<06/02/2012 11h56min09s BRST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1328536552903' for task '0'. Error is: 'weblogic.application.ModuleException: '   
weblogic.application.ModuleException:   
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:975)   
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:361)   
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)   
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)   
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)   
    Truncated. see log file for complete stacktrace   
java.lang.NoClassDefFoundError: Lvivo/entity/Promocao;   
    at java.lang.Class.getDeclaredFields0(Native Method)   
    at java.lang.Class.privateGetDeclaredFields(Class.java:2259)   
    at java.lang.Class.getDeclaredFields(Class.java:1715)   
    at com.sun.faces.application.annotation.ManagedBeanConfigHandler.collectAnnotatedFields(ManagedBeanConfigHandler.java:242)   
    at com.sun.faces.application.annotation.ManagedBeanConfigHandler.getBeanInfo(ManagedBeanConfigHandler.java:151)   
    Truncated. see log file for complete stacktrace   
>   
<06/02/2012 11h56min09s BRST> <Error> <Deployer> <BEA-149202> <Encountered an exception while attempting to commit the 1 task for the application 'VIVO_WEB'.>   
<06/02/2012 11h56min09s BRST> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application 'VIVO_WEB'.>   
<06/02/2012 11h56min09s BRST> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004   
weblogic.application.ModuleException:   
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:975)   
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:361)   
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)   
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)   
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)   
    Truncated. see log file for complete stacktrace   
java.lang.NoClassDefFoundError: Lvivo/entity/Promocao;   
    at java.lang.Class.getDeclaredFields0(Native Method)   
    at java.lang.Class.privateGetDeclaredFields(Class.java:2259)   
    at java.lang.Class.getDeclaredFields(Class.java:1715)   
    at com.sun.faces.application.annotation.ManagedBeanConfigHandler.collectAnnotatedFields(ManagedBeanConfigHandler.java:242)   
    at com.sun.faces.application.annotation.ManagedBeanConfigHandler.getBeanInfo(ManagedBeanConfigHandler.java:151)   
    Truncated. see log file for complete stacktrace   
>

O estranho que no console sai o seguinte caminho: Lvivo/entity/Promocao;
E meu package é: vivo/entity/Promocao

18 Respostas

max.analista

Posta seu web.xml aí :slight_smile:

evertonsilvagomesjav

Max vi melhor como esta acontecendo o erro, talvez assim fique melhor de vc me ajudar veja só:

Eu tenho um ProjetoWeb e um ProjetoEJB. O ProjetoEJB esta adicionado no ProjetoWEB, o erro acontece quando tento usar essa classe que é do ProjetoEJB dentro do ProjetoWEB.

package com.telecom.vivo.managedBeans;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.vivo.entity.Promocao;

import com.telecom.vivo.util.ServiceLocatorApp;

@ManagedBean(name="testeBean")
@SessionScoped
public class Teste {
		
	private Promocao promocao; // Aqui esta a classe Promocao, que gera o erro.
	
	public void init(){				
		
	}
	
	public void salvarTeste(){
		
		
	}

	public Promocao getPromocao() {
		return promocao;
	}

	public void setPromocao(Promocao promocao) {
		this.promocao = promocao;
	}
		
}
max.analista

Estranho, parece tudo normal.
Você está adicionando o JAR de um projeto no outro para trabalhar com a classe promoção?

evertonsilvagomesjav

Não não, cliquei com o botão direito em cima do meu ProjetoWEB fui em BuildPath - Configure Build Path - Projects e adicionei o ProjetoEJB

Olha a imagem dos dois Projetos


Hebert_Coelho

Você está adicionando, mas ele está indo dentro do WAR do projeto Web?

Você tem que ter certeza de que o JAR está indo.

Caso você esteja utilizando JBoss 7, apenas jogar o jar lá dentro também não vai funcionar.

Você vai precisar colocar todo mundo em um EAR ou fazer um módulo.

evertonsilvagomesjav

Eu não adiciono um JAR, eu referencio o Projeto dentro do proprio Eclipse =/

Hebert_Coelho

Referenciar é uma coisa, deploy é outra! :stuck_out_tongue:

Não é pq está referenciado que quer dizer que o código vai.

Adicione o projeto EJB no servidor e rode.

evertonsilvagomesjav

Ahhh ta agora entendi o que vc disse rs, ja esta os dois projetos no Servidor veja só


evertonsilvagomesjav

O que eu to achando estranho é o caminho que ele ta gerando no erro.

java.lang.NoClassDefFoundError: Lvivo/entity/Promocao;

esse Lvivo não existe, o que existe é vivo/entity/Promocao

max.analista

evertonsilvagomesjava:
O que eu to achando estranho é o caminho que ele ta gerando no erro.

java.lang.NoClassDefFoundError: Lvivo/entity/Promocao;

esse Lvivo não existe, o que existe é vivo/entity/Promocao

Também não sei por qual motivo este ‘L’ aparece, mas meu projeto atual também aparece ele e roda sem [color=red]problema[/color]. Não se estranhe também se aparecer como '(L)'nomeDoProjeto :slight_smile:

evertonsilvagomesjav

To louco aqui ja cara, to o dia todo pra resolver isso e nao consigo

max.analista

Já tentou a resolução proposta por nosso amigo jakefrog ?

evertonsilvagomesjav

Já tentou a resolução proposta por nosso amigo jakefrog ?

De colocar o EJB no WebLogic? Ele ja estava

Minduin

Só por curiosidade, sobre o “L” mostrado na exceção…

http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#14152

Abs

max.analista

Minduin:
Só por curiosidade, sobre o “L” mostrado na exceção…

http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#14152

Abs

Thanks. It’s very good article :wink:

Hebert_Coelho

Qual servidor você ta usando? Versão?

evertonsilvagomesjav

Uso WebLogic 10mp2

evertonsilvagomesjav

Mais alguem ai pode me ajudar?

Criado 6 de fevereiro de 2012
Ultima resposta 7 de fev. de 2012
Respostas 18
Participantes 4