Solucionado (ver solução)
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