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!

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.