Preciso de Ajuda,
Variáveis de ambiente na imagem abaixo, está tudo ok ,
Compila tudo certo , mas na hora que quero exibir ele fica desse jeito
Agradeço pelo seu tempo, preciso de ajuda.
Preciso de Ajuda,
Variáveis de ambiente na imagem abaixo, está tudo ok ,
Compila tudo certo , mas na hora que quero exibir ele fica desse jeito
Agradeço pelo seu tempo, preciso de ajuda.
Como está a sua estrutura de projeto?
Caso seja esta, realizando a compilação de forma certa, na sua estrutura terá dois arquivos:
Para executar você precisa estar dentro de src e usar o java Loja.
A estrutura esta correta, segue a imagem :
Sim estou indo pelo CD e pegando o diretorio src da minha pasta e colocando no prompt ,
Ela compila normalmente pelo javac, mas quando executo o main(loja) ele fala que nao encontrou …
Criei uma classe para ver se era problema ao na minha classe Loja, mas realmente nao é , criei uma classe “ola mundo”, e ate ela o cmd n encontrou
A imagem não veio, mas…
Se formos levar em consideração a sua primeira imagem, podemos notar que você está dentro do diretório trabaho, que está dentro do diretório raíz de um projeto Java src(apenas por convenção).
E, tomando com exemplo a imagem acima, admitindo-se que a pasta src é a raíz do seu projeto, sua classe estaria dentro do pacote trabalho.
Desta forma, o Full Qualified Name da classe passa a ser trabalho.Loja.
Para rodar esta classe, você precisa respeitar esse diretório que precede a sua classe Loja. Ou, seja, você precisa estar dentro de src e chamar o nome da sua classe que é agora trabalho.Loja:
Bruno segue a classe Loja :
Como você mencionou em cima :
O erro continua , se quiser mais detalhes para me ajudar, so falar, que mandarei .
Bom, vamos lá, só pincelando o assunto:
O javac e o java possuem uma forma peculiar de execução(como se você tivesse que girar uma chave no seu cérebro para pensar de uma forma como javac e outra como java).
javac:javac, a plataforma Java procura pela sua classe(o arquivo onde você está programando em java, ex: nomeDaMinhaClasseBonitona.java). Precisamos apenas passar javac Loja.java(mas, para isso, no seu caso, é necessário estar dentro da pasta trabalho, pois o arquivo Loja.java está dentro desta pasta, belê?).javanomeDoPacote + nomeDoArquivo. O que resulta em trabalho.Loja, mesmo que exista apenas o arquivo Loja.class, mas, dentro deste arquivo, tem a instrução package que diz para a máquina virtual procurar esta classe dentro de um pacote específico. No seu caso o pacote/pasta trabalho.Sua estrutura é:
src
trabalho
Loja
Quando você executa java trabalho.Loja, estando dentro da pasta trabalho e vai fazer isso:
src
trabalho
vou procurar aqui dentro a classe trabalho.Loja(mas ela não existe)
Quando passamos java trabalho.Loja, bem resumido, acontece isso aqui:
trabalho e dentro dela procura o arquivo Loja.class.
package dizendo: olha, esta classe, você procura ela dentro de uma pasta chama trabalho, valeu JVM?!É necessário estar dentro de src(1), para a máquina virtual procurar dentro da pasta seguinte(trabalho) o tal arquivo Loja.
Passando java trabalho.Loja ele vai procurar o pacote trabalho(2), depois vai encontrar a classe Loja(3) e vai rodar o main na tranquilidade:
src(1)
trabalho(2)
Loja(3)
Bruno, todo procedimento que foi me passado por você eu verifiquei ,
ainda continua a dar “Erro: Não…”
Se tiver outra ideia estou aqui !
Talvez o problema esteja em minha Variáveis de Ambiente ?
Me mostre a sua configuração para eu ver se a minha esta correta .
Minha Variáveis de Ambiente estão na foto acima.
No processo do javac eu faço \javac *.java (compilar todas minhas classes)
Logo em seguida busco somente main \java Loja
E logo vem o Erro:…
Não há problemas com as variáveis de ambiente, pois, se houvesse, o cmd não encontraria os comandos java e javac. O que não está encontando é o arquivo compilado Loja.class.
Nesta sua primeira imagem, o seu segundo comando, ele vai procurar qualquer arquivo .java, vai compilar e vai gerar os arquivos .class das classes que ele encontrar. Show. Beleza.
O seu terceiro comando, perceba, você continua dentro da pasta trabalho e dentro dela você procura a classe Loja, mas, a classe Loja está dentro do package trabalho, logo, ele não enconta, você precisaria voltar um diretório(como cd ..), ficar dentro do src e dentro do src executar java trabalho.Loja
Um package representa nada mais que pastas.
Após você compilar e gerar o .class, quando for usar o java você precisa respeitar o pacote onde a classe está.
Por este motivo é java trabalho.Loja. É necessário respeitar isto.
Você precisar estar em um diretório que esteja antes do diretório trabalho que por sua vez tenha a classe Loja e executar o comando java trabalho.Loja.
Bom tentei aqui , como você falou eu voltei uma pasta e fui trabalho.Loja
Ainda tentei de vários modos, sem resultado.
Tem alguma ideia se quiser passo whats para você verificar melhor .
Vou usar suas imagens para ilustrar:
Quando programando no seu NetBeans, dentro de src você criou um pacote trabalho e criou sua classe Loja.java alí:

Aqui, é pedido para o javac compilar qualquer arquivo .java dentro desta pasta. Tendo em vista que sua classe Loja.java está aqui dentro, neste mesmo local ele gerará um Loja.class(você pode até usar o comando dir que comprova isso).
![]()
Precisaria, então, olha que simples, voltar um diretório(cd ..) e executar java trabalho.Loja.
![]()
![]()
Analisando seus comandos no prompt de comando:
Não funciona pois, o nome da classe não é Loja. Loja é apenas o nome do arquivo.
O nome da classe é composto de nome do pacote + nome do arquivo: trabalho.Loja.
Independente do arquivo compilado ser Loja.class. Ele está te falando:
- Cara, eu não encontrei Loja.
Você precisar estar na raíz de todos os pacotes(src) e a partir dele chamar a classe que você quer. Como você está dentro do trabalho, que já é um pacote e não mais a raíz dos seus códigos fontes, ele simplesmente fica maluco.
![]()
Aqui é o mesmo caso:
![]()
Aqui também:
![]()
Aqui você está dentro do diretório src e está procurando o arquivo trabalho.java, mas este arquivo não existe(utilizando o dir, por exemplo, novamente, verá).

Aqui é o mesmo problema, não existe arquivo trabalho.Loja.java dentro de src.

Aqui primeiro é compilado qualquer arquivo .java dentro de trabalho. Ok. Tudo certo.
Depois, tenta executar uma classe trabalho.Loja.java. Dois pontos:
java precisa do arquivo Loja.class e não do arquivo .java.java não precisa do sufixo .class, apenas trabalho.Loja(pacote + classe).
Aqui você está no diretório src, beleza, mas o arquivo se chama trabalho.Loja.java?
Estás dentro do diretório src e está procurando um arquivo de nome trabalho.Loja.java.
Este arquivo não existe. Funcionaria se fizesse: javac trabalho\Loja.java(é esta estrutura que a máquina virtual java vai procurar quando você passar java trabalho.Java só que no lugar de \ a convenção é o .).

É o mesmo caso acima.
![]()
Seu único erro aqui foi usar javac, deveria usar java.

O mesmo caso acima, mas ele iria procurar pela classe Loja dentro de um pacote trabalh.
![]()
O que você poderia fazer é pedir para compilar qualquer arquivo .java(javac *.java) e não pedir para compilar qualquer arquivo que comece com trabalho que tenha qualquer extenssão(trabalho.*). O javac procura por arquivos .java. E, se, existisse dentro de src algum arquivo de nome trabalho.java, usando javac trabalho.java iria compilar e gerar o trabalho.class sem problemas.

Precisa entrar na sua cabeça…
Que todo projeto tem uma pasta raíz.
Apenas por convenção se chama src.
Que dentro dela você cria seus pacotes e suas classes.
Que, para compilar, você usa o javac seguido no aquivo da sua classe .java ou o diretório completo de onde está o arquivo .java.
Que para executar você usa o java e precisa respeitar o nome da classe que é o nome do pacote + o nome do arquivo da sua classe sem o .class.
Que você, estando em qualquer linha de comando, precisa estar em um diretório que respeite toda a hierarquia que você definiu no package da sua classe .java. para que o comando java funcione.
…ou, você não vai sair do lugar.
Eu agradeço imensamente pela ilustração, dos erros acima cometidos por mim.
Segue a imagem conforme solicitado por você, para que java ache a classe main,
Em src e usei o java trabalho.Loja(minha main) e mesmo assim nada …
Poderia compartilhar o print screen mostrando a sua estrutura de pastas deste projeto?
perdão.
Mas o problema não creio que esteja no código,
Fiz um teste criando apenas uma classe isolada e tentei chamar no cmd e não funcionou …
Me refiro a estrutura visual das pastas(print screen).