Erro: java.lang.NoSuchMethodError: com.google.common.collect.FluentIterable.toList()Lcom/google/common/collect/ImmutableList;

41 views
Skip to first unread message

Felipe dos Santos Assis

unread,
Jan 4, 2019, 8:35:51 AM1/4/19
to caelum-vraptor
Bom dia galera!

Fiz uma manutenção recente em meu PC e desde que reconfigurei meu ambiente de desenvolvimento não estou conseguindo rodar minha aplicação em função do erro descrito no título do Post. Procurei aqui no grupo alguns comentários sobre este problema, tentei as alternativas propostas como resolver os conflitos de versão do Guava (agora estou usando a versão 18.0) mas mesmo assim o problema persiste.

Meu setup possui as seguintes configurações:

Sistema Operacional: Fedora 29
Versão do Java: OpenJDK 1.8.0_191 64 bits
Maven: 3.6.0
Wildfly: 8.2.1 Final

Anexei o pom.xml da minha aplicação mais o log do comando mvn dependency:tree para validação.

Estou a alguns dias quebrando a cabeça mas não consegui resolver. O mais estranho é em meu notebook que tenho, exceto o sistema operacional (KDE Neon), o mesmo setup e lá consigo rodar a aplicação sem problemas.

Gratidão pela ajuda!

pom.xml
log-mvn-dependency-tree

Thiago Nobrega

unread,
Jan 4, 2019, 9:10:03 AM1/4/19
to caelum-...@googlegroups.com
Olá

Provavelmente o problema esta na lib weld-servlet, ela possui uma implementação do guava no código e pode estar conflitando, tenta usar essas duas dependências ao invés dela.

<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>




--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vrapto...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/caelum-vraptor.
Para mais opções, acesse https://groups.google.com/d/optout.


--
 

Thiago Nobrega

Av. 13 de Maio 41 - Cobertura - Centro, Rio de Janeiro

Tel. +55 21 35496306 | Cel. +55 21 996810790

www.fattoriaweb.com.br

Felipe dos Santos Assis

unread,
Jan 4, 2019, 9:48:49 AM1/4/19
to caelum-vraptor
Olá Thiago,

Agradeço sua ajuda! Segui sua sugestão mas mesmo assim o problema persiste.

Felipe dos Santos Assis

unread,
Jan 5, 2019, 7:09:13 AM1/5/19
to caelum-vraptor
Galera, depois de quebrar muito a cabeça consegui resolver o problema. Tomei as seguintes ações:

  1. Havia baixado o Maven e configurado manualmente, então o removi e instalei o maven a partir do repositório da minha distro. Antes estava usando o Maven 3.6.0, agora estou com a 3.5.4 RedHat.
  2. No pom.xml, atualizei a versão do maven-compiler-plugin para a última versão até o momento (3.8.0)
  3. Alterei a dependência do Guava para a versão 20.0
  4. Rodei o mvn clean install e minha aplicação voltou a funcionar corretamente.

Renato Resende Ribeiro de Oliveira

unread,
Jan 6, 2019, 11:10:46 AM1/6/19
to caelum-...@googlegroups.com
Isso normalmente ocorre quando existe mais de uma implementacao da classe no classpath e/ou quando libs importam diferentes versoea de outras libs.

Primeiro passo é checar se existe mais de uma impl da mesma classe (em diferentes JARs). Isso gera um comportamento incerto, as vezes a classe carregada eh a correta, aí funciona. Porém quando a errada é carregada não funcoiona. Provavelmente é isso com a questao do seu note.

Vetifique isso pra garantir que nao vá dar erro quando rodar em outros ambientes.

Felipe dos Santos Assis

unread,
Jan 10, 2019, 2:07:04 PM1/10/19
to caelum-vraptor
Entendi Renato,

Para verificar eu retirei a dependência do Guava e rodei o mvn dependency:tree -DVerbose e constatei que o tiles usava uma versão mais antiga do Gauva, a 12 enquanto o driver do PostgreSQL utilizava a versão 18.

Renato Resende Ribeiro de Oliveira

unread,
Jan 10, 2019, 2:59:38 PM1/10/19
to caelum-...@googlegroups.com
Exatamente, esse tipo de conflito de versões é que gera esses erros de class ou method not found.
CTO @ EvoJus
MSc - Computer Science - Universidade Federal de Lavras
PMP - Project Management Professional

Skype: renatorro.comp.ufla.br
Reply all
Reply to author
Forward
0 new messages