Se vc importou os pacotes, blz, é so compilar a classe que contem
publicstaticvoidmain(Stringargs[]){}
digite o comando no pront MS-DOS
javacsuaClasse.java
P
programmerGM
Consegui compilar.
Criei as três classes::
com.pacote1.Principal.java
com.pacote2.Auxiliar.java
com.pacote3.Utilitarios.java
e compilei com “javac ./com/pacote1/Principal.java”.
Isso gerou um .class em cada um dos diretórios. Após isso tentei executar com “java ./com/pacote1/Principal”, mas ocorre a mensagem: “Error: Could not find or load main Class …com.pacote1.Principal”.
packagecom.pacote2;publicclassAuxiliar{publicvoidfalar(){System.out.println("Oi, eu sou a classe Auxiliar");}}
.
packagecom.pacote3;publicclassUtilitarios{publicvoidfalar(){System.out.println("Oi, eu sou a classe Utilitarios");}}
Jederson_Andre
esses pontos estão no seu codigo?? (String… args)??
dpois que vc compilou é so fazer
javasuaClasse
P
programmerGM
Sim, os pontos estão no código, isso está correto, se chama varargs, você passa uma quantidade de parâmetros que ainda não sabe, é a mesma coisa que String[] args.
Acessei o caminho “com/pacote1”, e digitei “java Principal” e deu o mesmo erro.
Apenas para testar alterei o “String… args” por “String[] args” mas não adiantou…como falei, é a mesma coisa.
Tem alguma indicação?
Jederson_Andre
É “String args[]”
publicstaticvoidmain(Stringargs[]){}
P
programmerGM
Não cara, String[] args, String…args e String args[] são a mesma coisa. : |
Faça um Hello world com cada umas das três e veja.
Solucao aceita
staroski
java -classpath . com.pacote1.Principal
staroski
Os três pontos indicam que os parâmetros são opcionais.
Isto é, o método main pode ser invocado sem parâmetro nenhum ou com uma ou mais Strings passadas por parâmetro.
Dentro do método você manipula esse tipo de parâmetro como se fosse um array.
P
programmerGM
Obrigado, funcionou.
java-classpath.com.pacote1.Principal
Pode me explicar o que aconteceu aqui? Porque foi colocado um ponto e depois o caminho do pacote com a classe principal. Porque foi chamado somente o parâmetro -classpath e nada mais?
staroski
O -classpath é para você adicionar diretórios e/ou arquivos ao classpath da aplicação.
O ponto indica o diretório onde você está no momento.
O com.pacote1.Principal é o nome do pacote e classe que você deseja executar.
P
programmerGM
Ok, obrigado. Mas os diretório do class path não deveriam ser separados por ponto e vírgula(wimdows) ou dois pontos(linux)?
.;com.pacote1.Principal;
staroski
Sim, mas no exemplo o único diretório incluso é o diretório corrente indicado por ponto: .
Depois vem o nome da classe a ser executada: com.pacote1.Principal
O nome do pacote faz parte do nome da classe.
D
danieldejesus
Inseri essa linha no cmd mas o mesmo erro se repetiu:
couldnotfindorloadmainclass
staroski1 like
O comando java é para executar sua aplicação (arquivos .class ou .jar).
O comando javac é para compilar o código fonte (arquivos .java)
Tem certeza de que compilou a classe antes de tentar executá-la?
Como fez para compilar?
D
danieldejesus
Sim sim, eu compilei usando javac pastaDoArquivo/Arquivo.java
D
danieldejesus
D
danieldejesus
Descobri o erro, era na classe, não tinha inserido o nome do pacote nela (vacilo).