Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
13
respostas

Erro: java.lang.ClassNotFoundException

Fiz tudo conforme o segundo vídeo da aula 2 do curso Machine Learning: Introdução ao sistemas de recomendações.

Só que quando vou rodar o programa aparece o seguinte erro:

Erro: Não foi possível localizar nem carregar a classe principal Paulo.victor.Recomendador.RecomendaProdutos Causada por: java.lang.ClassNotFoundException: Paulo.victor.Recomendador.RecomendaProdutos

13 respostas

Olá Paulo, veja se o método main() da sua classe RecomendaProdutos está com a delcaração correta. Precisa estar exatamente assim:

public static void main(String[] args) {
    //código aqui
}

Aguardo retorno!

Olá Thais, conferi aqui e está exatamente como falou.

Certo, você poderia postar seu código aqui para ficar mais fácil de identificar o que pode estar acontecendo? E qual versão do java você está utilizando?

package paulo.victor;

import java.io.File;
import java.io.IOException;

public class RecomendaProdutos {
      public static void main(String[] args) throws IOException {
        File file = new File("dados.csv");
        DataModel model = new FileDataModel(file);
      }
}

Na parte do DataModel e FileDataModel não aparece a opção de importar o mahout automaticamente como no vídeo, mas mesmo importando na mão continua aparecendo que tem erro .

No markers aparece:

Java Build Path Problems> Archive for required library: 'C:/Users/PV/.m2/repository/org/apache/mahout/mahout-math/0.12.2/mahout-math-0.12.2.jar' in project 'recomendador' cannot be read or is not a valid ZIP file

Estou usando o Java 8.

Se alguem puder me ajudar, eu agradeço!

Oi, Paulo. Desculpe a demora para responder. Acredito que o problema está no jar do Mahout, ele pode estar corrompido. Apague a pasta .m2 do maven em seu computador. Após isso, no Eclipse, clique com o botão direito no nome do projeto e vá em Maven-> Update Project, dê um oke teste rodar seu projeto novamente.

Olá Thais, fiz isso que você falou e continua dando o mesmo problema.

Oi Paulo, ele não está encontrando a biblioteca do Mahout no maven. Veja se ele está no arquivo 'pom.xml' da sua aplicação.:

<dependency>
  <groupId>org.apache.mahout</groupId>
  <artifactId>mahout-mr</artifactId>
  <version>0.12.2</version>
</dependency>

Também precisa do haddop:

<dependency>
  <groupId>org.apache.hadoop</groupId>
  <artifactId>hadoop-client</artifactId>
  <version>2.7.2</version>
</dependency>

Fico no aguardo.

Estão sim, já tinha incluído antes.

Oi Paulo, tudo certo? Teria como você fazer o upload do projeto e compartilhar o link (ou postar no github) para que eu consiga rodar aqui e ver o que pode estar acontecendo?

Tudo bem, fiz aqui. O link é: https://github.com/paulovbpo/recomendador.git

Ainda continuo com esse problema...

solução!

Oi Paulo,

no seu código faltam dois imports:

import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;
import org.apache.mahout.cf.taste.model.DataModel;

Para desenvolver esse código vc precisa ter um conhecimento da linguagem java (realmente nao tem como fugir disso). Aconselho assistir os primeiros cursos da formacao java.

abs, Nico