Configuração de projeto com Vraptor 4 [Resolvido]

5 respostas
java
T

Alguém já teve esse erro?

javax.enterprise.event.ObserverException

sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

java.lang.reflect.Constructor.newInstance(Constructor.java:423)

java.lang.Class.newInstance(Class.java:442)

org.jboss.weld.security.NewInstanceAction.run(NewInstanceAction.java:33)

java.security.AccessController.doPrivileged(Native Method)

org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:40)

org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:78)

org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:101)

org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)

org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)

org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)

org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)

org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)

org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)

org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)

org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)

br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)

root cause
java.lang.NoSuchMethodError: com.google.common.collect.FluentIterable.toSet()Lcom/google/common/collect/ImmutableSet;

br.com.caelum.vraptor.http.route.DefaultRouter.routesMatchingUri(DefaultRouter.java:152)

br.com.caelum.vraptor.http.route.DefaultRouter.routesMatchingUriAndMethod(DefaultRouter.java:131)

br.com.caelum.vraptor.http.route.DefaultRouter.parse(DefaultRouter.java:111)

br.com.caelum.vraptor.http.route.DefaultRouter$Proxy$_$$<em>WeldClientProxy.parse(Unknown Source)

br.com.caelum.vraptor.http.DefaultControllerTranslator.translate(DefaultControllerTranslator.java:63)

br.com.caelum.vraptor.http.DefaultControllerTranslator$Proxy$</em>$$_WeldClientProxy.translate(Unknown Source)

br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:91)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

java.lang.reflect.Method.invoke(Method.java:498)

org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)

org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)

org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)

org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)

org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)

org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)

org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)

org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)

org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)

br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)

<dependencies>
	
	<dependency>
		<groupId>com.google.guava</groupId>
		<artifactId>guava</artifactId>
		<version>17.0</version>
	</dependency>

	<dependency>
		<groupId>org.javassist</groupId>
		<artifactId>javassist</artifactId>
		<version>3.18.1-GA</version>
	</dependency>

	<dependency>
		<groupId>com.sun.mail</groupId>
		<artifactId>javax.mail</artifactId>
		<version>1.5.5</version>
	</dependency>


	<dependency>
		<groupId>br.com.caelum.vraptor</groupId>
		<artifactId>vraptor-paginator</artifactId>
		<version>4.0.0</version>
	</dependency>

	<dependency>
		<groupId>com.querydsl</groupId>
		<artifactId>querydsl-apt</artifactId>
		<version>4.0.6</version>
	</dependency>

	<dependency>
		<groupId>com.querydsl</groupId>
		<artifactId>querydsl-jpa</artifactId>
		<version>4.0.6</version>
	</dependency>

	<dependency>
		<groupId>br.com.caelum.vraptor</groupId>
		<artifactId>vraptor-brutauth</artifactId>
		<version>4.0.4</version> 
	</dependency>

	<dependency>
		<groupId>br.com.caelum.vraptor</groupId>
		<artifactId>vraptor-jpa</artifactId>
		<version>4.0.4</version>
	</dependency>

	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.34</version>
	</dependency>

	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-entitymanager</artifactId>
		<version>4.3.6.Final</version>
	</dependency>

	<dependency>
		<groupId>br.com.caelum.vraptor</groupId>
		<artifactId>vraptor-java8</artifactId>
		<version>4.0.0.Final</version>
	</dependency>

	<dependency>
		<groupId>opensymphony</groupId>
		<artifactId>sitemesh</artifactId>
		<version>2.4.2</version>
	</dependency>

	<dependency>
		<groupId>br.com.caelum</groupId>
		<artifactId>vraptor</artifactId>
		<version>4.1.4</version>
	</dependency>

	<dependency>
		<groupId>org.jboss.weld.servlet</groupId>
		<artifactId>weld-servlet-core</artifactId>
		<version>2.1.2.Final</version>
	</dependency>

	<dependency>
		<groupId>org.jboss.weld</groupId>
		<artifactId>weld-core-impl</artifactId>
		<version>2.1.2.Final</version>
	</dependency>

	<dependency>
		<groupId>javax.el</groupId>
		<artifactId>el-api</artifactId>
		<version>2.2</version>
		<scope>provided</scope>
	</dependency>

	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-validator-cdi</artifactId>
		<version>5.1.1.Final</version>
	</dependency>

	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jstl</artifactId>
		<version>1.2</version>
	</dependency>

	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>javax.servlet-api</artifactId>
		<version>3.1.0</version>
		<scope>provided</scope>
	</dependency>

	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-log4j12</artifactId>
		<version>1.7.5</version> 
	</dependency>
</dependencies>

5 Respostas

A

Você está com conflito de bibliotecas(Guava), este erro acontece porque ele não sabe qual classe utilzar devido a ter mais de uma versão da mesma.

Se for ver nas dependencias do Vraptor ele usa o Guava15 e vocẽ especificou na sua aplicação a versão 17, tem mais, como você utiliza esses plugins do Vraptor tem que ver se não tem mais conflito, pois aquele plugin de paginação carrega a própria lib do vraptor-core dentro, e o que é pior, em outra versão. Sugiro dar uma boa olhada em suas dependências, e configurar <exclusions> no maven para as que possuem conflito.

T

Obrigado por responder!
Removi os conflitos do guava, o problema parace estar com o plugin paginator, quando tiro ele o projeto sobe.

<dependency>
		<groupId>com.sun.mail</groupId>
		<artifactId>javax.mail</artifactId>
		<version>1.5.5</version>
	</dependency>


	<dependency>
		<groupId>br.com.caelum.vraptor</groupId>
		<artifactId>vraptor-paginator</artifactId>
		<version>4.0.0</version>
		<exclusions>
			<exclusion>
				<groupId>br.com.caelum</groupId>
				<artifactId>vraptor</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-entitymanager</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.jboss.logging</groupId>
				<artifactId>jboss-logging</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.jboss.logging</groupId>
				<artifactId>jboss-logging-annotations</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.jboss.spec.javax.transaction</groupId>
				<artifactId>
					jboss-transaction-api_1.2_spec
				</artifactId>
			</exclusion>
			<exclusion>
				<groupId>dom4j</groupId>
				<artifactId>dom4j</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.hibernate.common</groupId>
				<artifactId>
					hibernate-commons-annotations
				</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.hibernate.javax.persistence</groupId>
				<artifactId>hibernate-jpa-2.1-api</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.javassist</groupId>
				<artifactId>javassist</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.jboss.weld</groupId>
				<artifactId>weld-spi</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.jboss.weld</groupId>
				<artifactId>weld-core-impl</artifactId>
			</exclusion>
			<exclusion>
				<groupId>javax.enterprise</groupId>
				<artifactId>cdi-api</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.jboss.spec.javax.annotation</groupId>
				<artifactId>
					jboss-annotations-api_1.2_spec
				</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>com.querydsl</groupId>
		<artifactId>querydsl-apt</artifactId>
		<version>4.0.6</version>
		<exclusions>
			<exclusion>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.javassist</groupId>
				<artifactId>javassist</artifactId>
			</exclusion>
			<exclusion>
				<groupId>com.querydsl</groupId>
				<artifactId>querydsl-core</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>com.querydsl</groupId>
		<artifactId>querydsl-jpa</artifactId>
		<version>4.0.6</version>
		<exclusions>
			<exclusion>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
			</exclusion>
			<exclusion>
				<groupId>com.querydsl</groupId>
				<artifactId>querydsl-core</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>br.com.caelum.vraptor</groupId>
		<artifactId>vraptor-brutauth</artifactId>
		<version>4.0.4</version> 
	</dependency>

	<dependency>
		<groupId>br.com.caelum.vraptor</groupId>
		<artifactId>vraptor-jpa</artifactId>
		<version>4.0.4</version>
		<exclusions>
			<exclusion>
				<groupId>br.com.caelum</groupId>
				<artifactId>vraptor</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.34</version>
	</dependency>


	<dependency>
		<groupId>br.com.caelum.vraptor</groupId>
		<artifactId>vraptor-java8</artifactId>
		<version>4.0.0.Final</version>
		<exclusions>
			<exclusion>
				<groupId>br.com.caelum</groupId>
				<artifactId>vraptor</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>opensymphony</groupId>
		<artifactId>sitemesh</artifactId>
		<version>2.4.2</version>
	</dependency>


	<dependency>
		<groupId>org.jboss.weld.servlet</groupId>
		<artifactId>weld-servlet-core</artifactId>
		<version>2.1.2.Final</version>
		<exclusions>
			<exclusion>
				<groupId>org.jboss.logging</groupId>
				<artifactId>jboss-logging</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.jboss.weld</groupId>
				<artifactId>weld-spi</artifactId>
			</exclusion>
			<exclusion>
				<groupId>javax.enterprise</groupId>
				<artifactId>cdi-api</artifactId>
			</exclusion>
		</exclusions>
	</dependency>


	<dependency>
		<groupId>javax.el</groupId>
		<artifactId>el-api</artifactId>
		<version>2.2</version>
		<scope>provided</scope>
	</dependency>

	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-validator-cdi</artifactId>
		<version>5.1.1.Final</version>
		<exclusions>
			<exclusion>
				<groupId>org.jboss.logging</groupId>
				<artifactId>jboss-logging</artifactId>
			</exclusion>
		</exclusions>
	</dependency>

	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jstl</artifactId>
		<version>1.2</version>
	</dependency>

	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>javax.servlet-api</artifactId>
		<version>3.1.0</version>
		<scope>provided</scope>
	</dependenc
A

Mas agora pelo visto você removeu a dependência principal do guava aquela que estava declarada com a versão 17, uma tem que existir :slight_smile:

A

Paginação é algo relativamente simples de implementar, não é necessário usar esse plugin, na verdade esse monte de plugin foi o que me afastou do Vraptor, até hoje testando muita coisa do mercado não vi um framework tão bom para atender requests http , a parte ruim e que não concordo como o @rodrigo.turini leva o projeto, funcionalidades que são do core e deveriam fazer parte dele, ele não adiciona e funcionalidades que não deveriam fazer parte, ele coloca, pode ver no último ano as releases do Vraptor, nunca mais vi comits com features decentes.

T

Mantive essa configuração e mudei para o tomcat7 e funcionou :smiley:

pelo que vi no site o vraptor4 só foi testado até o tomcat7: http://www.vraptor.org/pt/docs/dependencias-e-pre-requisitos/

<dependency>
	<groupId>com.sun.mail</groupId>
	<artifactId>javax.mail</artifactId>
	<version>1.5.5</version>
</dependency>


<dependency>
	<groupId>br.com.caelum.vraptor</groupId>
	<artifactId>vraptor-paginator</artifactId>
	<version>4.0.0</version>
	<exclusions>
		<exclusion>
			<groupId>br.com.caelum</groupId>
			<artifactId>vraptor</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.jboss.logging</groupId>
			<artifactId>jboss-logging</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.jboss.logging</groupId>
			<artifactId>jboss-logging-annotations</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.jboss.spec.javax.transaction</groupId>
			<artifactId>
				jboss-transaction-api_1.2_spec
			</artifactId>
		</exclusion>
		<exclusion>
			<groupId>dom4j</groupId>
			<artifactId>dom4j</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.hibernate.common</groupId>
			<artifactId>
				hibernate-commons-annotations
			</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.hibernate.javax.persistence</groupId>
			<artifactId>hibernate-jpa-2.1-api</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.javassist</groupId>
			<artifactId>javassist</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.jboss.weld</groupId>
			<artifactId>weld-spi</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.jboss.weld</groupId>
			<artifactId>weld-core-impl</artifactId>
		</exclusion>
		<exclusion>
			<groupId>javax.enterprise</groupId>
			<artifactId>cdi-api</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.jboss.spec.javax.annotation</groupId>
			<artifactId>
				jboss-annotations-api_1.2_spec
			</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
		</exclusion>
	</exclusions>
</dependency>

<dependency>
	<groupId>com.querydsl</groupId>
	<artifactId>querydsl-apt</artifactId>
	<version>4.0.6</version>
	<exclusions>
		<exclusion>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.javassist</groupId>
			<artifactId>javassist</artifactId>
		</exclusion>
		<exclusion>
			<groupId>com.querydsl</groupId>
			<artifactId>querydsl-core</artifactId>
		</exclusion>
	</exclusions>
</dependency>

<dependency>
	<groupId>com.querydsl</groupId>
	<artifactId>querydsl-jpa</artifactId>
	<version>4.0.6</version>
	<exclusions>
		<exclusion>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
		</exclusion>
		<exclusion>
			<groupId>com.querydsl</groupId>
			<artifactId>querydsl-core</artifactId>
		</exclusion>
	</exclusions>
</dependency>

<dependency>
	<groupId>br.com.caelum.vraptor</groupId>
	<artifactId>vraptor-brutauth</artifactId>
	<version>4.0.4</version> 
</dependency>

<dependency>
	<groupId>br.com.caelum.vraptor</groupId>
	<artifactId>vraptor-jpa</artifactId>
	<version>4.0.4</version>
	<exclusions>
		<exclusion>
			<groupId>br.com.caelum</groupId>
			<artifactId>vraptor</artifactId>
		</exclusion>
	</exclusions>
</dependency>

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>5.1.34</version>
</dependency>


<dependency>
	<groupId>br.com.caelum.vraptor</groupId>
	<artifactId>vraptor-java8</artifactId>
	<version>4.0.0.Final</version>
	<exclusions>
		<exclusion>
			<groupId>br.com.caelum</groupId>
			<artifactId>vraptor</artifactId>
		</exclusion>
	</exclusions>
</dependency>

<dependency>
	<groupId>opensymphony</groupId>
	<artifactId>sitemesh</artifactId>
	<version>2.4.2</version>
</dependency>


<dependency>
	<groupId>org.jboss.weld.servlet</groupId>
	<artifactId>weld-servlet-core</artifactId>
	<version>2.1.2.Final</version>
	<exclusions>
		<exclusion>
			<groupId>org.jboss.logging</groupId>
			<artifactId>jboss-logging</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.jboss.weld</groupId>
			<artifactId>weld-spi</artifactId>
		</exclusion>
		<exclusion>
			<groupId>javax.enterprise</groupId>
			<artifactId>cdi-api</artifactId>
		</exclusion>
	</exclusions>
</dependency>


<dependency>
	<groupId>javax.el</groupId>
	<artifactId>el-api</artifactId>
	<version>2.2</version>
	<scope>provided</scope>
</dependency>

<dependency>
	<groupId>org.hibernate</groupId>
	<artifactId>hibernate-validator-cdi</artifactId>
	<version>5.1.1.Final</version>
	<exclusions>
		<exclusion>
			<groupId>org.jboss.logging</groupId>
			<artifactId>jboss-logging</artifactId>
		</exclusion>
	</exclusions>
</dependency>

<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>jstl</artifactId>
	<version>1.2</version>
</dependency>

<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>javax.servlet-api</artifactId>
	<version>3.1.0</version>
	<scope>provided</scope>
</dependenc
Criado 20 de novembro de 2016
Ultima resposta 21 de nov. de 2016
Respostas 5
Participantes 2