Ajuda!

Alguém saberia me dizer aonde está o erro?:


java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap
	at net.sf.hibernate.mapping.PersistentClass.<init>(PersistentClass.java:30)
	at net.sf.hibernate.mapping.RootClass.<init>(RootClass.java:16)
	at net.sf.hibernate.cfg.Binder.bindRoot(Binder.java:1255)
	at net.sf.hibernate.cfg.Configuration.add(Configuration.java:253)
	at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:289)
	at net.sf.hibernate.cfg.Configuration.addResource(Configuration.java:337)
	at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:1027)
	at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:983)
	at net.sf.hibernate.cfg.Configuration.configure(Configuration.java:926)
	at br.com.evoluti.solicit.cadastro.SessionFactory.getSessionFactory(SessionFactory.java:50)
	at br.com.evoluti.solicit.cadastro.SessionFactory.getConfiguration(SessionFactory.java:75)
	at br.com.evoluti.solicit.cadastro.SessionFactory.exportSchema(SessionFactory.java:41)
	at br.com.evoluti.solicit.cadastro.SessionFactory.main(SessionFactory.java:82)
Exception in thread "main" 

Em q classe está oorrendo o erro?
Coloque o código da mesma…

Sua aplicacao nao tah enxergando a library do Jakarta Commons.
Coloque ela no diretorio “lib” da aplicacao, ou modifique o teu classpath.

Tem um commons-collections(versão).jar na pasta lib do download do Hibernate pmcn, coloque ele no seu classpath.

Alguma outra sugestao!!! coloquei la no classpath mas não mudou nada… :?

Então é mágica velho, porque ele não está encontrando a classe (que é uma classe do commons collections, basta ver o pacote), e com o .JAR no classpath ele deveria estar encontrando.

Você derrubou e reiniciou o Tomcat? (não só a aplicação)

Pelo jeito, vc esta com problemas com o classpath. Caso ainda nao tenha dado uma lida, esse artigo ajuda bastante: http://guj.com.br/java.artigo.108.1.guj

pcalcado, li os artigos lá (classpath, jdk) muito bons… revi toda a minha configuraçao, até fiz alguma alteraçao, porem o erro persiste! Algo que não comentei é que a jvm lança uma mensagem de erro!

“Fatal exception occured. Program will exit”

Essa mensagem tb diz respeito a uma possivel mau configuraçao da CLASSPATH?

Como vc estah rodando sua aplicacao? Pela IDE?

O Tomcat fechou??? :shock:

Diogenes, isso mesmo, estou rodando a aplicação pela IDE!

Mauricio, o erro “Fatal Exception” acho q foi resolvido… pelo menos nao apareceu mais
Desculpe a ignorância mas tenho que colocar algum plugin do tomcat na aplicação? (src/main/test)? Tem um chamado jakarta-oro.jar…Pra que serve? Vc falou sobre o tomcat ai me atentei pra isso…rs :wink:

Ah, pensei que você estivesse tendo esse problema com o Tomcat. Tem nadas haver não :lol:

Mas o Jakarta oro é uma dependência comum, não está relacionado com o Tomcat não.

Procure por algum .jar com o nome similar a “commons-collections-x-x.jar”, (onde x eh variavel de acordo com a versao), e adicione-o ao Build Path do seu projeto.

Bom… Finalmente o Hibernate começou a dar sinais de vida na minha aplicação, porem ele começa a realizar o mapeamento das tabelas (SessionFactory)… porem ocorre um erro e ele trava novamente!

2005-06-09 15:24:27,195 [main] INFO  net.sf.hibernate.cfg.Binder - Mapping class: br.com.evoluti.solicit.entidade.Cidade -> Cidade
2005-06-09 15:24:27,195 [main] DEBUG net.sf.hibernate.cfg.Binder - Mapped property: id -> NUMG_Cidade, type: integer
2005-06-09 15:24:27,195 [main] DEBUG net.sf.hibernate.cfg.Binder - Mapped property: descricao -> DESC_Cidade, type: string
2005-06-09 15:24:27,195 [main] DEBUG net.sf.hibernate.cfg.Binder - Mapped property: versaoObjeto -> NUMR_VersaoObjeto, type: integer
2005-06-09 15:24:27,226 [main] ERROR net.sf.hibernate.cfg.Configuration - Could not compile the mapping document
net.sf.hibernate.MappingException: Could not interpret type: br.com.evoluti.solicit.entidade.Estado
	at net.sf.hibernate.cfg.Binder.getTypeFromXML(Binder.java:934)
	at net.sf.hibernate.cfg.Binder.bindSimpleValue(Binder.java:435)
	at net.sf.hibernate.cfg.Binder.propertiesFromXML(Binder.java:1047)
	at net.sf.hibernate.cfg.Binder.bindRootClass(Binder.java:362)
	at net.sf.hibernate.cfg.Binder.bindRoot(Binder.java:1256)
	at net.sf.hibernate.cfg.Configuration.add(Configuration.java:253)
	at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:289)
	at net.sf.hibernate.cfg.Configuration.addResource(Configuration.java:337)
	at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:1027)
	at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:983)
	at net.sf.hibernate.cfg.Configuration.configure(Configuration.java:926)
	at br.com.evoluti.solicit.cadastro.SessionFactory.getSessionFactory(SessionFactory.java:50)
	at br.com.evoluti.solicit.cadastro.SessionFactory.getConfiguration(SessionFactory.java:75)
	at br.com.evoluti.solicit.cadastro.SessionFactory.exportSchema(SessionFactory.java:41)
	at br.com.evoluti.solicit.cadastro.SessionFactory.main(SessionFactory.java:82)
net.sf.hibernate.HibernateException: net.sf.hibernate.MappingException: Error reading resource: br/com/evoluti/solicit/entidade/Cidade.hbm.xml
	at br.com.evoluti.solicit.cadastro.SessionFactory.getSessionFactory(SessionFactory.java:57)
	at br.com.evoluti.solicit.cadastro.SessionFactory.getConfiguration(SessionFactory.java:75)
	at br.com.evoluti.solicit.cadastro.SessionFactory.exportSchema(SessionFactory.java:41)
	at br.com.evoluti.solicit.cadastro.SessionFactory.main(SessionFactory.java:82)

O Mapeamento do meu hibernate-cfg.xml esta nessa ordem

<mapping resource="br/com/evoluti/solicit/entidade/Solicitacao.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Sistema.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Resposta.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Usuario.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Bairro.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Cidade.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Estado.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Paises.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Logradouros.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/TipoLogradouros.hbm.xml" />

Quando a aplicação vai mapear o Estado ai ocorre o erro!
Alguem teria uma indicação do que devo fazer? :idea:

Já deu uma olhada no seu Cidade.hbm.xml?? Provavelmente ele tah com algum errinho…

Mas isso ai não é criado automaticamente nao? Se fosse pra ter algo errado pra mim era no hibernate-config.xml! Ou nao!?!?!

Nao necessariamente. Depende da ferramenta q vc estah utilizando, cara.

Pode ser q nao. Posta o Cidade.hbm.xml aih pra gente dar uma olhada…
Pode ter algum erro sintatico nele.

Cidade.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping
>
    <class
        name="br.com.evoluti.solicit.entidade.Cidade"
        table="Cidade"
    >

        <id
            name="id"
            column="NUMG_Cidade"
            type="int"
        >
            <generator class="increment">
              <!--  
                  To add non XDoclet generator parameters, create a file named 
                  hibernate-generator-params-Cidade.xml 
                  containing the additional parameters and place it in your merge dir. 
              --> 
            </generator>
        </id>

        <property
            name="descricao"
            type="java.lang.String"
            column="DESC_Cidade"
            length="70"
            not-null="true"
            unique="true"
        />

        <property
            name="versaoObjeto"
            type="int"
            column="NUMR_VersaoObjeto"
        />

        <property
            name="estado"
            type="br.com.evoluti.solicit.entidade.Estado"
            column="NUMR_VersaoObjeto"
        />

        <!--
            To add non XDoclet property mappings, create a file named
                hibernate-properties-Cidade.xml
            containing the additional properties and place it in your merge dir.
        -->

    </class>

</hibernate-mapping>

Pelo q parece nao eh o Cidade.hbm.xml nao.
Posta o Estado.hbm.xml, por favor.

Estado é uma propriedade simples? Um String? Um Integer?

Se não for, ele não deveria estar sendo mapeado como uma propriedade, e parece que não é mesmo, porque tem um tipo lá.