Vraptor 3.4 e Jboss 7 erro ao carregar

4 respostas
vasilvei

Bom tarde Pessoa estou com problema ao carregar jboss 7 em um projeto que eu usava o tomcat7, esse projeto eu uso Vraptor e hibernate.

É algo relacionado ao dom4j-1.6.1.jar, quando eu coloquei o jboss ele dá o seguinte erro:

...
org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory
...

pelo que eu pesquisei e encontrei isso:

http://community.jboss.org/message/630480

eles falam para eu remover o dom4j-1.6.1.jar do classpath, e adicionar o no MANIFEST.MF:

Dependencies: org.dom4j

eu fiz isso o meu arquivo MANIFEST.MF ficou assim:

Manifest-Version: 1.0
Class-Path: 
Dependencies: org.dom4j

e daí acontece o seguinte erro:

Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named Coliseu

Alguém já passou por isso?

a se eu digitar no navegardor : localhost:8080 - ele abre a página do jboss normal
porém se for : localhost:8080/CP - da página não encontrada

Obrigado!

4 Respostas

Lucas_Cavalcanti

Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named Coliseu

tem algum erro no seu persistence.xml, ou o nome não é “Coliseu”, ou tem algo mto errado lah dentro

vasilvei

Mas com o tomcat funciona normalmente, segue o meu arquivo persistence.xml, e meu CriadorDeEntityManagerFactory, tipo dá a entender, o seguinte: se eu rodar a aplicação com o tomcat e retirar o classpath o jar do dom4j, ele dá esse mesmo erro, parece que ele não esta encontrando o jar dom4j do jboss, quando eu edito o MANIFEST.MF…

package br.com.coliseu.resources;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import br.com.caelum.vraptor.ioc.ApplicationScoped;
import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.ioc.ComponentFactory;

@Component
@ApplicationScoped
public class CriadorDeEntityManagerFactory implements
		ComponentFactory<EntityManagerFactory> {

	private EntityManagerFactory factory;

	@PostConstruct
	public void abre() {
		factory = Persistence.createEntityManagerFactory("Coliseu");
	}

	public EntityManagerFactory getInstance() {
		return factory;
	}

	@PreDestroy
	public void fecha() {
		this.factory.close();
	}

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

<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0">
	<persistence-unit name="Coliseu" transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>  
		
		<properties>
			<property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
			<property name="hibernate.connection.username" value="coliseu" />
			<property name="hibernate.connection.password" value="coliseu" />
			<property name="hibernate.connection.url" value="jdbc:postgresql://192.168.1.77:5432/coliseu" />
			<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
			<property name="hibernate.show_sql" value="false"/>  
            <property name="hibernate.format_sql" value="false"/>  
   <!--          <property name="hibernate.hbm2ddl.auto" value="update" /> -->
            <property name="hibernate.c3p0.min_size" value="5"/>  
            <property name="hibernate.c3p0.max_size" value="20"/>  
            <property name="hibernate.c3p0.timeout" value="300"/>  
            <property name="hibernate.c3p0.max_statements" value="50"/>  
            <property name="hibernate.c3p0.idle_test_period" value="2000"/> 
       </properties>
	</persistence-unit>
</persistence>
Lucas_Cavalcanti

bom, vc não pode ter o jar do hibernate na sua aplicação, pq o jboss já tem uma… o que deve estar acontecendo é algum conflito.

vasilvei

Tipo, eu removi também o dom4j da pasta lib, uma coisa que eu reparei agora, e onde ele mostra as libs do servidor jboss, não tem o jar do dom4j, mas na pasta do servidor existe ele, no caso ele não deveria me mostrar aqui no eclipse ali onde tem as libs do servidor o jar do dom4j, eu tinha entendido que deveria remover a lib do classpath, e colocar a dependecia no MANIFEST.MF, ele usaria a do jboss, mas como não esta aparecendo ali, imagino que talvez seja isso… ?

Criado 11 de janeiro de 2012
Ultima resposta 12 de jan. de 2012
Respostas 4
Participantes 2