É muito difícil encontrar a solução para executar os comandos javac e java?

Eu baixei o arquivo jdk-12_windows-x64_bin.exe::

O ebook continua:

Com a instalação concluída - seja por download do arquivo através do site ou pelo gerenciador de pacotes - abra seu terminal (ou prompt de comando) e digite:

$ java -version

Eu digitei java -version no prompt de comando do Windows, mas apareceu a mensagem:

C:>java -version
‘java’ não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.

C:>

Eu não consegui enviar uma captura de tela para mostrar que essa mensagem apareceu porque apareceu a seguinte mensagem e porque eu não sei fazer o upload desse arquivo grande em um serviço de nuvem e compartilhar o link:

Desculpe, este arquivo é muito grande (o tamanho máximo é 4096kb). Por que não faz o upload de seu arquivo grande em um serviço de nuvem e compartilha o link?

Está escrito nesse ebook:

1.4. O famoso “Olá mundo!”

Com o Java instalado e funcionando, podemos criar o famoso “Olá Mundo!”. Famoso porque no aprendizado de todas as linguagens é um costume criar um pequeno programa com a finalidade de imprimir (exibir) na tela justamente o texto “Olá Mundo!”.

Para começar a organizar as coisas, crie uma pasta em qualquer lugar do seu computador, onde você irá deixar os arquivos que vamos precisar criar durante nosso estudo, começando pelo arquivo OlaMundo.java.

Eu criei uma pasta chamada java dentro de C:\

Eu criei o arquivo OlaMundo.java usando o Notepad++:

Esse ebook continua:

Esse arquivo é um arquivo de texto puro normal, porém como vamos programar em Java, nós temos que usar a extensão “.java”. Muito cuidado ao nomear o arquivo, pois iremos usar esse nome dentro do nosso programa. Note que as letras “O” e “M” são em maiúsculo. Agora, veja o conteúdo inicial do arquivo OlaMundo.java:

public class OlaMundo {

   public static void main(String[] args) {

   }

}

Repare que na linha 1 da estrutura do nosso programa foi necessário utilizar o termo “OlaMundo”, que deve ser exatamente igual ao nome do arquivo, inclusive, as partes maiúsculas e minúsculas.

O public static void main, na linha 3, é o ponto de entrada em nosso programa, ou seja, tudo que estiver dentro do bloco delimitado pelas chaves será executado ao rodar o nosso pequeno programa. Não mude nada nessa linha, ou pode dar tudo errado. Como você está só começando agora, não faria sentido explicar o motivo de cada palavra da linha 3.

Feito isso, vamos incluir agora a linha responsável pela impressão do texto “Olá Mundo!”. Impressão essa que será feita na tela (terminal ou prompt de comando).

Veja como vai ficar:

public class OlaMundo {

    public static void main(String[] args) {

   System.out.println("Olá Mundo!");

    }

}

A única instrução que temos em nosso programa “Olá Mundo” é a impressão do próprio texto “Olá Mundo!”. Impressão essa que é feita com o auxílio do comando System.out.println. Repare que, ao final da instrução, foi colocado um sinal “;” (ponto e vírgula), pois, toda instrução Java precisa encerrar com esse sinal.

Eu salvei o código do programa que eu citei acima no Notepad++, eu irei mostrar a captura de tela que mostra este código para que vocês vejam se eu salvei realmente o código que eu deveria ter salvo:

Este ebook continua:

Agora, precisamos compilar o arquivo. Essa compilação vai gerar um outro, de mesmo nome e com a extensão “.class”, com um conteúdo que chamamos de bytecode. Isso significa que iremos preparar o arquivo para ser executado pela máquina. Essa compilação é feita com um comando que executamos através do terminal ou prompt de comando. Então, abra o seu terminal e execute:

$ javac OlaMundo.java

O ebook continua:

Lembrando que para executar o comando acima é necessário estar dentro da pasta onde você salvou o arquivo.

Para entrar na pasta pelo terminal, você pode utilizar o comando cd (change directory - ou, em português, alterar diretório). Supondo que sua pasta com os arquivos se chame “EbookAlgaWorksLogicaProgramacao”, então o comando seria algo como:

$ cd /caminho/da/pasta/com/o/arquivo/EbookAlgaWorksLogicaProgramacao

No Windows ficaria algo do tipo:

C:> cd C:\caminho\da\pasta\com\o\arquivo\EbookAlgaWorksLogicaProgramacao

Agora você pode executar o comando javac apresentado anteriormente. E muito cuidado para não executar o comando errado como, por exemplo, o comando java, javap, etc… Agora é o momento do comando javac.

Outra coisa importante é que, sempre que você alterar o arquivo com a extensão “.java”, será necessário compilar o arquivo novamente antes da nova execução.

Eu tentei executar javac OlaMundo.java, mas apareceu a mensagem:

C:>cd java

C:\java>javac OlaMundo.java
‘javac’ não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.

C:\java>

Eu também não consegui enviar a captura de tela que mostra que apareceu esta mensagem.

O ebook continua:

Logo depois que o javac for executado, será gerado um novo arquivo no mesmo lugar em que está o arquivo OlaMundo.java. O arquivo gerado terá o mesmo nome, mas com uma extensão diferente. Você pode conferir isso utilizando o comando ls - ou dir para quem usa Windows - que serve para listar os arquivos do diretório. Veja o meu caso: [Por favor, vejam essa imagem no ebook.]

Chegou o momento de, realmente, executar esse nosso pequeno programa.

Vamos fazer isso com o comando java:

$ java OlaMundo

Eu tentei executar o comando java OlaMundo, mas apareceu a mensagem:

C:>cd java

C:\java>javac OlaMundo.java
‘javac’ não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.

C:\java>java OlaMundo
‘java’ não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.

C:\java>

O ebook continua:

Repare que agora o comando é o java, e não o javac, e também que você não deve adicionar a extensão do arquivo, pois o comando java acessa diretamente o arquivo com a extensão “.class” - referente a versão compilada do nosso arquivo OlaMundo.java. Olhe o resultado: [Por favor, vejam também essa imagem no ebook].

Se no final for impresso o texto “Olá Mundo!”, quer dizer que você conseguiu executar nosso pequeno programa chamado OlaMundo.java.

Parabéns! Esse pode ser considerado seu primeiro marco nos estudos sobre lógica e também de programação no geral. O primeiro passo foi dado.

Pessoal,

Eu enviei capturas de tela para vocês verem se eu realmente tentei praticar o conteúdo deste ebook e para tentar mostrar para vocês que os comando javac e java não funcionam.

Eu não irei continuar tentando entender o que está escrito neste ebook se eu não conseguir executar os comandos javac e java.

Não é possível ter esperança de aprender programar em Java quando se percebe que determinado conteúdo que diz que ensina programar em Java não funciona e também quando não se sabe se existe conteúdo que ensina executar os comandos javac e java.

É muito difícil encontrar a solução para executar os comandos javac e java?

Por favor, comecem responder este tópico.

Eu tentei imprimir o texto “Olá Mundo!” segundo o que este ebook ensina.

Por favor, respondam também:

Este ebook está ensinando errado?

Ou eu é que pratiquei errado o que esse ebook diz?

Se este ebook está ensinando errado, qual é o material que contém o conteúdo completo que ensina programar em Java?

Se não existe material que contém o conteúdo completo que ensina programar em Java, qual é o material mais completo que ensina programar em Java?

@ViniGodoy,

Eu não sei quais seriam as respostas que um professor universitário da área de programação de computadores me responderia se eu tivesse feito estas perguntas para ele.

@ViniGodoy, por favor, responda também este tópico, eu estou citando o seu nome porque talvez você tem até doutorado.

Você precisa adicionar a pasta do JAVA na variável de ambiente PATH do windows.
É através dessa variável que o windows encontra os programa que podem rodar direto no terminal.
Na verdade o mais indicado seria criar uma variável nova chamada JAVA_HOME, que aponta pra pasta de instalação do java e no PATH adicionar uma referência a essa variável mais a pasta “bin” dentro da pasta do java.
Aqui tá um link um pouco antigo, mas que mostra bem como fazer: https://www.devmedia.com.br/preparacao-do-ambiente-para-desenvolvimento-em-java/25188

1 curtida

@juliofsn,

Muito obrigado pela sua resposta.

Eu não entendo porque o ebook que eu citei neste tópico não mostra como configurar as variáveis do ambiente.

Porque o ebook que eu citei neste tópico não mostra como configurar as variáveis do ambiente?

Por favor, respondam também as outras perguntas que eu fiz neste tópico:

Este ebook está ensinando errado?

Ou eu é que pratiquei errado o que esse ebook diz?

Se este ebook está ensinando errado, qual é o material que contém o conteúdo completo que ensina programar em Java?

É o livro Java Como Programar dos Deitel?

É o livro Use a Cabeça Java?

Se não existe material que contém o conteúdo completo que ensina programar em Java, qual é o material mais completo que ensina programar em Java?

@ViniGodoy,

Eu não sei quais seriam as respostas que um professor universitário da área de programação de computadores me responderia se eu tivesse feito estas perguntas para ele.

@ViniGodoy, por favor, responda também este tópico, eu estou citando o seu nome porque talvez você tem até doutorado.

Eu esqueci de perguntar:

Quais são os cursos que ensinam ser Programador Java Júnior?

Eu preciso de todas essas informações porque eu não conseguirei aprender ser Programador Java Júnior se eu não tiver essas respostas.

Pq o autor nao quis.

1 curtida

Porque o autor desse ebook não quis mostrar como configurar as variáveis do ambiente???

É decepcionante praticar um conteúdo que diz que ensina corretamente instalar o Java e ver que esse conteúdo não funciona porque ensina errado instalar o Java.

O que o autor desse ebook irá ganhar ensinando errado instalar o Java?

Ganha dinheiro da AlgaWorks.

1 curtida

Eu olhei a apostila Java e Orientação a Objetos da Caelum para ver se essa apostila também ensina errado instalar o Java.

Essa apostila talvez é mais atual do que o conteúdo do devmedia que o @juliofsn sugeriu nesse tópico.

Essa apostila da Caelum diz que precisamos configurar algumas variáveis de ambiente após a instalação, para que o compilador seja acessível via linha de comando.

Eu copiei e colei o assunto dessa apostila que mostra como instalar o Java no Windows:

CAPÍTULO 21

APÊNDICE - INSTALAÇÃO DO JAVA

21.3 INSTALAÇÃO DO JDK EM AMBIENTE WINDOWS

Para instalar o JDK no Windows, primeiro baixe-o no site da Oracle. É um simples arquivo executável que contém o Wizard de instalação:

http://www.oracle.com/technetwork/java/

Instalação

Dê um clique duplo no arquivo jdk-<versão>-windows-i586-p.exe e espere até ele entrar no

wizard de instalação.

Aceite os próximos dois passos clicando em Next. Após um tempo, o instalador pedirá para

escolher em que diretório instalar o SDK. Pode ser onde ele já oferece como padrão. Anote qual foi o diretório escolhido, vamos utilizar esse caminho mais adiante. A cópia de arquivos iniciará:

O instalador instalará também o JavaFX 2. Após isso, você será direcionado à uma página onde você pode, opcionalmente, criar uma conta na Oracle para registrar sua instalação.

Instalação

Configurando o ambiente

Precisamos configurar algumas variáveis de ambiente após a instalação, para que o compilador seja acessível via linha de comando. Caso você vá utilizar diretamente o Eclipse, provavelmente não será

necessário realizar esses passos.

Clique com o botão direito em cima do ícone Computador e selecione a opção Propriedades.

Escolha a aba “Configurações Avançadas de Sistema” e depois clique no botão "Variáveis de

Ambiente"

Nesta tela, você verá, na parte de cima, as variáveis de ambiente do usuário corrente e, embaixo, as variáveis de ambiente do computador (servem para todos os usuários). Clique no botão Novo… da parte de baixo.

Em Nome da Variável digite JAVA_HOME e, em valor da variável, digite o caminho que você utilizou na instalação do Java. Provavelmente será algo como: C:\Program Files\Java\jdk1.8.0_03 :

Clique em Ok.

Não vamos criar outra variável, mas sim alterar. Para isso, procure a variável PATH, ou Path (dá no mesmo), e clique no botão de baixo “Editar”.

Não altere o nome da variável! Deixe como está e adicione no final do valor ;%JAVA_HOME%\bin , não esqueça do ponto-e-vírgula - assim, você está adicionando mais um caminho à sua variável

Path.

Abra o prompt, indo em Iniciar, Executar e digite cmd.

No console, digite javac -version . O comando deve mostrar a versão do Java Compiler e algumas opções.

Você pode seguir para a instalação do Eclipse, conforme visto no seu capítulo, ou utilizar um editor de texto simples como o bloco de notas para os primeiros capítulos de apostila.

Qualquer dúvida, não hesite de postá-la no Grupo de Usuários Java:

http://www.guj.com.br

Referência: https://www.caelum.com.br/apostila-java-orientacao-objetos/apendice-instalacao-do-java/#instalao-do-jdk-em-ambiente-windows

Se eu tivesse praticado o conteúdo dessa apostila da Caelum no lugar do ebook da AlgaWorks, talvez a minha instalação do Java teria funcionado e eu teria mostrado outras capturas de tela aqui nesse tópico.

Eu repeti perguntas que eu fiz nesse tópico, mas eu não quero repeti-las outra vez, eu espero que todas as perguntas que eu fiz neste tópico sejam respondidas.

@ViniGodoy e outros, por favor, respondam também a seguinte pergunta:

Como professores universitários da área de programação de computadores responderiam as perguntas que eu fiz nesse tópico?

Após instalar o Java, crie uma variavel de ambiente JAVA_HOME apontando para a pasta raíz de seu JDK
Em seguida edite a variável de ambiente PATH e adicione %JAVA_HOME%\bin

Ele não ensinou errado, ele deve ter partido do princípio que o programador sabe como funciona o seu sistema operacional e que, para executar um programa de terceiros no prompt, a pasta dele deve estar no PATH.

1 curtida

@staroski,

Muito obrigado pela resposta.

O título desse ebook é Programação para Iniciantes - Aprenda Lógica de
Programação com Java.

O autor desse ebook é estranho se ele partiu do princípio que o programador sabe como funciona o seu sistema operacional e que, para executar um programa de terceiros no prompt, a pasta dele deve estar no PATH .

Eu afirmo isto porque esse ebook é para iniciantes que não sabem Lógica de
Programação, ou seja, esse ebook é para quem não sabe programar.

Se for observar o nome faz sentido, pois, de acordo com o título do e-book o autor deve retratar a ideia de lógica de programação com a linguagem Java, e não configuração de ambientes de desenvolvimento, se não seria algo mais ou menos assim “Programação para iniciantes - Como configurar seu ambiente de desenvolvimento Java”.

1 curtida

@Clark_Samurai, não respondi suas outras questões pq imaginei que elas todas partiam do fato de vc não conseguir executar os exemplos no seu ambiente.

Mas como outros disseram antes, não explicar isso foi uma opção do autor em focar na linguagem, nas estruturas, sintaxe, etc. Isso não quer dizer que ele esteja ensinando errado. Até pq essas configurações de ambiente são dependentes de sistema operacional. No Mac, no Windows e no Linux são totalmente diferentes a forma de configurar.

1 curtida

@juliofsn,

O autor desse ebook nem disse que essas configurações de ambiente são dependentes de sistema operacional.

Isto é problemático porque o autor desse ebook dá a entender que funcionará o que está escrito nesse ebook e quem tentou praticar o que esse ebook diz vê que o autor nem teve o interesse de dizer que os comandos java -version, javac e java OlaMundo não funcionarão se as variáveis de ambiente não forem configuradas.

@juliofsn,

Você disse que essas configurações de ambiente são dependentes de sistema operacional, mas esse problema é maior do que isso porque segundo o livro Java Como Programar dos Deitel 10 edição, os passos para configurar as variáveis de ambiente diferem às vezes
para cada versão do sistema operacional (por exemplo, Windows 7 versus Windows 8):

Configurando a variável de ambiente PATH

A variável de ambiente PATH no seu computador especifica em quais diretórios o computador pesquisa ao procurar aplicativos, como os aplicativos que permitem compilar e executar seus aplicativos Java (chamados javac e java, respectivamente). Siga atentamente as instruções de instalação para o Java na sua plataforma a fim de certificar-se de que você configurou a variável de
ambiente PATH corretamente. Os passos para configurar as variáveis de ambiente diferem para cada sistema operacional e às vezes para cada versão do sistema operacional (por exemplo, Windows 7 versus Windows 8). As instruções para várias plataformas estão
listadas em:

http://www.java.com/en/download/help/path.xml

Mas você não precisa das variáveis de ambiente para que o Java funcione, elas são só um macete pra configurar de forma mais fácil.
Você pode navegar até o diretório onde o executável se encontra e executá-lo a partir de lá, ou informar o caminho completo do javac.exe ao compilar os fontes.

Novamente, isso não tem nada a ver com ensinar a programar, isso é característica do sistema operacional o autor partiu do princípio de que quem está querendo aprender Java ao menos saiba como funciona o sistema operacional no qual pretende desenvolver.

@staroski,

Se o autor desse ebook realmente partiu do princípio de que quem está querendo aprender Java ao menos saiba como funciona o sistema operacional no qual pretende desenvolver, ele não deveria ter falado que os comandos javac OlaMundo.java e o comando java OlaMundo funcionariam, ele deveria ter falado que esses comandos funcionariam se as variáveis de ambiente tivessem sido configuradas.

@staroski,

Você concorda comigo?

Clark, no mundo Java tudo é complicado mesmo, não é culpa do maluco, ta bom pra conteúdo gratuito focado em programação e não ambiente.

1 curtida

@juliofsn,

Você disse que no PATH deve ser adicionada uma referência a variável JAVA_HOME mais a pasta “bin” dentro da pasta do java, mas está escrito no link da devmedia que você colocou nesse tópico que “nesse exemplo vamos instalar para versões Windows (x86) e baixar o arquivo com o tamanho maior, como mostrado na **Figura 2”:

Um ponto bastante importante é sempre escolher o tipo do sistema operacional, nesse exemplo vamos instalar para versões Windows (x86) e baixar o arquivo com o tamanho maior, como mostrado na Figura 2: https://www.devmedia.com.br/preparacao-do-ambiente-para-desenvolvimento-em-java/25188

@juliofsn,

O link da devmedia que você colocou nesse tópico não fala nada sobre pasta bin.

Será que você está confundindo a instalação do JDK no Windows com a instalação do JDK no Linux?

Eu questiono isso porque o livro Java Como Programar 10 edição fala sobre subdiretório bin:

Diretório de instalação do JDK e o subdiretório bin

O diretório de instalação do JDK varia por plataforma. Os diretórios listados a seguir são para o JDK 7 atualização 51 da Oracle:

• JDK de 32 bits no Windows:

C:\Program Files (x86)\Java\jdk1.7.0_51

• JDK de 64 bits no Windows:

C:\Program Files\Java\jdk1.7.0_51

• Mac OS X:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

• Ubuntu Linux:

/usr/lib/jvm/java-7-oracle

Dependendo da sua plataforma, o nome da pasta de instalação do JDK pode ser diferente se você estiver usando uma atualização diferente do JDK 7 ou usando o JDK 8. No Linux, o local de instalação depende do instalador que você usa e possivelmente da versão do Linux que você utiliza. Usamos o Ubuntu Linux. A variável de ambiente PATH deve apontar para o subdiretório bin do diretório de instalação do JDK.

Antes o @staroski disse que o autor do ebook da AlgaWorks que eu citei nesse tópico deve ter partido do princípio que o programador sabe como funciona o seu sistema operacional e que, para executar um programa de terceiros no prompt, a pasta dele deve estar no PATH ` dando a entender que o autor desse ebook não ensinou errado usar os comandos javac e java no prompt de comando mesmo sem ter falado que as configurações das variáveis de ambiente deveriam ter sido realizadas.

Eu postei um tópico para tirar dúvidas, mas também estou corrigindo erros de respostas que foram postadas nesse tópico.

O que está acontecendo?

É tão difícil ensinar sobre as configurações das variáveis de ambiente?

A qualidade das respostas dos instrutores da Caelum e Alura é a mesma qualidade das respostas que foram colocadas nesse tópico?

Eu agradeço muito ao @juliofsn porque o link do devmedia que ele postou nesse tópico é fácil de entender e é tão detalhista que mostra capturas de tela.