15
respostas

Erro ao executar com module path

Error occurred during initialization of boot layer java.lang.module.FindException: Module br.com.alura not found

Tive que deletar o projeto e começar tudo novamente, agora quando chega nesse comando apareceu esse erro, a classe Principal.class foi criada dentro da pasta mods, foi criada a pasta bin, consegui resolver um erro e agora aparece esse, alguem pode me ajudar?

15 respostas

Renato. Tudo bom? Vou continuar te ajudando por aqui. Gostaria de saber os passos realizados até agora. Você baixou o projeto da plataforma, certo? Da aula 05, seção "Projeto inicial da aula".

eu excluir o projeto do eclipse e do diretorio do windows depois eu criei um novo projeto com nome e-livraria e depois eu copiei a pasta br do projeto 1755-aula5-novidades-java-elivraria-master para dentro do src do projeto que eu criei e depois fui executando os comandos, porem este ultimo comando da esse erro que eu mencionei no ultimo post

Faz o seguinte. Em vez de copiar o conteúdo do projeto pra dentro do diretório que você criou, usa o diretório do projeto 1755-aula5-novidades-java-elivraria-master. Uma vez que você fizer isso, dentro de src crie um diretório chamado br.com.alura. Para dentro deste novo diretório você copia a pasta br, que conterá os outros pacotes (com/alura/...). O seu diretório ficará src/br.com.alura/br/com ... No mesmo nível do diretório br você cria o arquivo module-info.java e o seu conteúdo será:

module br.com.alura { }

Uma vez feito isso, você pode executar o comando na raiz do projeto e-livraria.

javac -d mods/br.com.alura --module-path mods src ... (Todos os pacotes).

Neste momento dará um erro por causa do java.net.http;

Você pode me informar se consegue chegar neste ponto?

error: file not found: src\br\com\alura\modelo\dominio\Categoria.java Usage: javac use --help for a list of possible options

Os arquivos terão de estar dentro do diretório br.com.alura. Depois disso você pode fazer o comando:

javac -d mods\br.com.alura --module-path mods src\br.com.alura\br\com\alura\modelo\dominio\Categoria.java src\br.com.alura\br\com\alura\modelo\dominio\Livro.java (demais pacotes).

os arquivos estão dentro do diretorio br.com.alura, executei o comando javac -d mods\br.com.alura --module-path mods... e não deu nenhum erro, agora quando eu vou executar o comando java --module-path mods -m br.com.alura/br.com.alura.Principal da o erro:

Error occurred during initialization of boot layer java.lang.module.FindException: Module br.com.alura not found

Invertendo a barra o que acontece?

java --module-path mods -m br.com.alura\br.com.alura.Principal

Error occurred during initialization of boot layer java.lang.module.FindException: Module br.com.alura\br.com.alura.Principal not found

Renato. Realizei os passos agora no windows.

1º - Download do projeto para o meu eclipse-workspace.

2º - Criação do diretório br.com.alura dentro do diretório src

3º - Movi os pacotes (br/com/alura/{pacotes específicos} para o diretório br.com.alura

4º - Criei o arquivo module-info.java dentro do diretório br.com.alura (Fica no mesmo nível do pacote /br)

5º - Inseri o requires do módulo java.net.http no module-info.

6º - Executei o comando para compilar o projeto.

caelum@LAPTOP-PCL7PEHF MINGW64 ~/eclipse-workspace/1755-aula5-novidades-java-elivraria (master) $ javac -d mods/br.com.alura --module-path mods src/br.com.alura/br/com/alura/modelo/dominio/Categoria.java src/br.com.alura/br/com/alura/modelo/dominio/Livro.java src/br.com.alura/br/com/alura/modelo/dominio/NotaFiscal.java src/br.com.alura/br/com/alura/http/dao/LivroDAO.java src/br.com.alura/br/com/alura/nf/servico/NotaFiscalServico.java src/br.com.alura/br/com/alura/nf/subscriber/NotaFiscalSubscriber.java src/br.com.alura/br/com/alura/nf/util/NotaFiscalUtil.java src/br.com.alura/module-info.java src/br.com.alura/br/com/alura/Principal.java

7º - Executei o comando para executar o projeto

caelum@LAPTOP-PCL7PEHF MINGW64 ~/eclipse-workspace/1755-aula5-novidades-java-elivraria (master) $ java --module-path mods -m br.com.alura/br.com.alura.Principal

Resultado:

Listando todos os livros 0 - Desbravando Java e OrientaþÒo a Objetos 1 - Explorando APIs e bibliotecas Java 2 - Java 8 Prßtico 3 - IntroduþÒo e boas prßticas em UX Design 4 - Conhecendo o Adobe Photoshop CS6 5 - EdiþÒo e organizaþÒo de fotos com Adobe Lightroom 6 - MÚtricas ┴geis 7 - Scrum: GestÒo ßgil para projetos de sucesso 8 - Test-Driven Development 9 - Direto ao Ponto 10 - Guia da Startup 11 - O Mantra da Produtividade 12 - Java SE 7 Programmer I 13 - Java SE 8 Programmer I 14 - Zend Certified Engineer Qual livro deseja? 2 Livro escolhido Ú o: Java 8 Prßtico Favor inserir seu nome para gerar nota fiscal João Obrigado!! emitindo Nota fiscal gerada no nome de Jo├úo dia 2020-08-11 no valor de 39.99

error: file not found: src\br\com\alura\modelo\dominio\Categoria.java Usage: javac use --help for a list of possible options

Este erro é no momento de compilar? Não é pra ele procurar a classe nesse diretório, pois já é pra estar dentro de src\br.com.alura\br\com ...

Esse erro é quando eu executo o comando:

javac -d bin\ -cp bin src\br\com\alura\modelo\dominio\Categoria.java src\br\com\alura\modelo\dominio\Livro.java src\br\com\alura\modelo\dominio\NotaFiscal.java src\br\com\alura\http\dao\LivroDAO.java src\br\com\alura\nf\servico\NotaFiscalServico.java src\br\com\alura\nf\subscriber\NotaFiscalSubscriber.java src\br\com\alura\nf\util\NotaFiscalUtil.java src\br\com\alura\Principal.java

Entendi. É porque nós temos dois momentos nesta aula. Primeiro nós mostramos como compilamos e executamos o sistema usando o classpath. Nesse momento ainda não criamos o diretório br.com.alura dentro do diretório src.

Ai podemos usar este comando que você postou ai em cima.

javac -d bin\ -cp bin ...

Uma vez compilado, podemos usar o classpath para executar o projeto.

java -cp bin br.com.alura.Principal

Depois que fizemos esses passos com o classpath, mudamos para fazer com o module-path, ai nesse momento temos o passo a passo que postei anteriormente, que é criar o diretório br.com.alura, criar o module-info. Compilar usando o javac -d mods/br.com.alura --module-path e executar usando o comando java --module-path mods ...

Perceba que por mais que sejam parecidos, são recursos diferentes e que tem comportamentos diferentes.

Eu vou assistir as aulas novamente e tentar começar do zero para ver se eu consigo executar esse projeto

Isso. Mas agora acredito que você não terá problemas. =)

Quando refizer a aula, me avisa aqui se deu tudo certo.