16
respostas

compilar javac

Estou com atual erro :

O que estou fazendo de errado ?

C:\Users\GUILHERME>javac MeuPrograma.java
javac: file not found: MeuPrograma.java
Usage: javac <options> <source files>
use -help for a list of possible options
16 respostas

Olá Guilherme,

você tem que ir na pasta onde o arquivo MeuPrograma.java está.

utilizando o comando cd + (caminho para o diretório do arquivo)

Espero ter ajudado

Local do Arquivo : C:\Users\GUILHERME\Desktop\Logica

Nome : MeuProgramaModificado.java

No cd

C:\Users\GUILHERME>\Desktop\Logica\MeuProgramaModificado.java O sistema não pode encontrar o caminho especificado.

Olá Guilherme,

vai para o diretório com o comando cd no cado você está em

C:\Users\GUILHERME

Então digita

cd desktop\Logica

para ir para o local onde o arquivo MeuProgramaModificado.java está.

Dentro da pasta logica digita

javac MeuProgramaModificado.java

para poder compilar o programa, se não der erro é só mandar executar

Java MeuProgramaModificado

Espero ter ajudado

Joel deu o seguinte erro :

C:\Users\GUILHERME\Desktop\Logica>javac MeuProgramaModificado.java
MeuProgramaModificado.java:1: error: class, interface, or enum expected
<meta charset="UTF-8">
^
MeuProgramaModificado.java:1: error: class, interface, or enum expected
<meta charset="UTF-8">
 ^
2 errors

C:\Users\GUILHERME\Desktop\Logica>Java MeuProgramaModificado
Erro: Não foi possível localizar nem carregar a classe principal MeuProgramaModificado

C:\Users\GUILHERME\Desktop\Logica>

Oi Guilherme, creio que o código que você tem aí não é java, pois o <meta charset="UTF-8> é uma tag html, você poderia disponibilizar o código, por favor?

<meta charset="UTF-8">

class MeuProgramaModificado {
    public static void main(String[] args) { System.out.println("sua mensagem aqui");
    }
}

Ok, retira essa tag, o código abaixo é java sim, deixa somente o

class MeuProgramaModificado {
    public static void main(String[] args) {
             System.out.println("sua mensagem aqui");
    }
}

Tirando o

<meta charset="UTF-8">

Fica assim :

C:\Users\GUILHERME\Desktop\Logica> C:\Users\GUILHERME\Desktop\Logica>javac MeuProgramaModificado.java

C:\Users\GUILHERME\Desktop\Logica>Java MeuProgramaModificado sua mensagem aqui

Agora funcionou,

Ele "printou" a sua mensagem, que no caso era "sua mensagem aqui" na seguinte instrução

System.out.println("sua mensagem aqui");

Se você alterar e colocar seu nome, por exemplo

System.out.println("Guilherme Henrique ");

Deverá sair o seu nome

Joel , ao fazer isso surgiu um arquivo com o mesmo nome mais .class e com a seguinte informação :

cafe babe 0000 0034 001d 0a00 0600 0f09
0010 0011 0800 120a 0013 0014 0700 1507
0016 0100 063c 696e 6974 3e01 0003 2829
5601 0004 436f 6465 0100 0f4c 696e 654e
756d 6265 7254 6162 6c65 0100 046d 6169
6e01 0016 285b 4c6a 6176 612f 6c61 6e67
2f53 7472 696e 673b 2956 0100 0a53 6f75
7263 6546 696c 6501 001a 4d65 7550 726f
6772 616d 614d 6f64 6966 6963 6164 6f2e
6a61 7661 0c00 0700 0807 0017 0c00 1800
1901 000e 4775 696c 6865 726d 6520 4f74
746f 0700 1a0c 001b 001c 0100 154d 6575
5072 6f67 7261 6d61 4d6f 6469 6669 6361
646f 0100 106a 6176 612f 6c61 6e67 2f4f
626a 6563 7401 0010 6a61 7661 2f6c 616e
672f 5379 7374 656d 0100 036f 7574 0100
154c 6a61 7661 2f69 6f2f 5072 696e 7453
7472 6561 6d3b 0100 136a 6176 612f 696f
2f50 7269 6e74 5374 7265 616d 0100 0770
7269 6e74 6c6e 0100 1528 4c6a 6176 612f
6c61 6e67 2f53 7472 696e 673b 2956 0020
0005 0006 0000 0000 0002 0000 0007 0008
0001 0009 0000 001d 0001 0001 0000 0005
2ab7 0001 b100 0000 0100 0a00 0000 0600
0100 0000 0100 0900 0b00 0c00 0100 0900
0000 2500 0200 0100 0000 09b2 0002 1203
b600 04b1 0000 0001 000a 0000 000a 0002
0000 0002 0008 0003 0001 000d 0000 0002
000e

Isso já é a Compilação ?

Oi Guilherme, esse arquivo é o compilado, ele está em um código que somente a JVM entende, foi ele que você executou com a instrução

java MeuProgramaModificado

Tentei o mesmo processo com o seguinte código :

class MeuProgramaModificado {
    public static void main(String[] args) {
        System.out.println("Uma mensagem.");
        System.out.println("Outra mensagem.");
    }
}

E deu o seguinte erro : C:\Users\GUILHERME\Desktop\Logica>javac Duaslinhas.java

C:\Users\GUILHERME\Desktop\Logica>Java Duaslinhas Erro: Não foi possível localizar nem carregar a classe principal Duaslinhas

C:\Users\GUILHERME\Desktop\Logica>

Olá Guilherme, o arquivo deve ter o mesmo nome da classe, então, você tem que mudar o nome do arquivo para MeuProgramaModificado ou o nome da classe para Duaslinhas, eu recomendo a segunda opção ficando

class Duaslinhas {

Joel , conforme especificado acima quando eu for compilar class sempre deverei botar o nome do arquivo ou a variável class ?

Ex:

class Programa {
    public static void main(String[] args) { 
        int idadeJoao = 18;
        int idadeMaria = 21;

        int somaDasIdades = idadeJoao + idadeMaria;
        System.out.println(somaDasIdades);

        int numero;
        System.out.println(numero);

    }
}

Nome do arquivo : idades

Microsoft Windows [versão 10.0.14393] (c) 2016 Microsoft Corporation. Todos os direitos reservados.

C:\Users\GUILHERME>cd desktop\Logica

C:\Users\GUILHERME\Desktop\Logica>javac idades.java idades.java:10: error: variable numero might not have been initialized System.out.println(numero); ^ 1 error

C:\Users\GUILHERME\Desktop\Logica>Java idades Erro: Não foi possível localizar nem carregar a classe principal idades

C:\Users\GUILHERME\Desktop\Logica>Java programa Erro: Não foi possível localizar nem carregar a classe principal programa

C:\Users\GUILHERME\Desktop\Logica>

Oi Guilherme, no caso a sua classe se chama Programa, o arquivo deve ter o mesmo nome, portanto o arquivo deve ter o nome de Programa, o correto é o arquivo ter o nome da classe, portanto muda o nome do arquivo

O erro que está aparecendo na linha

C:\Users\GUILHERME\Desktop\Logica>javac idades.java idades.java:10: error: variable numero might not have been initialized System.out.println(numero); ^ 1 error

Esse erro é causado devido ao fato de sua variável número estar declarada mas não inicializada, portanto antes de printar ela você deve inicializar nem que seja atribuindo 0 nela.

Obs.: se ela não compilar com sucesso você não conseguirá executar

Guilherme tudo bem? De acordo com a convenção da linguagem Java, crie como prática SEMPRE nomear os seus arquivos de código Java com o nome nome da classe que está escrita neles, e SEMPRE escreva uma classe por aquivo apenas. Ou seja:

Se o nome da classe é Programa (class Programa...), salve o arquivo como Programa.java.

Ao compilar com o comando "javac Programa.java", será gerado o arquivo Programa.class, que contém os bytecodes para a JVM interpretar. Execute com o comando "java Programa".

Mais para a frente do curso, quando você precisar criar mais de uma classe para seus programas, conforme o curso já vai lhe orientar, salve cada classe em um aquivo diferente. Salvar diversas classes: class A {}, class B {}, tudo em um único arquivo chamado Programa.java também funcionaria, e uma destas possuindo um método main vai executar normal, mas esta prática é desencorajada pela comunidade Java.