Duvida sobre package

7 respostas
M

Bom dia…

Pessoal estou com a seguinte duvida :

o pakcage no Eclipse funciona maravilhosamente bem, porem num editor de text tipo TextEdit… da erro :

primeiro .java

package cert;

public class Beverage{

public void importantMethod(){}

}

segundo .java

package exam.stuff;

import cert.Beverage;

class Tea extends Beverage{

public static void main(String args[]){

}

}

quando compilo da erro :

C:\estudo_java\src\exam\stuff\Tea.java:3: package cert does not exist

import cert.Beverage;

^

C:\estudo_java\src\exam\stuff\Tea.java:5: cannot find symbol

symbol: class Beverage

class Tea extends Beverage{

^

Ja criei a pasta cert como podem ver… alguem pode me ajudar dar uma luz ??? sobre packages ??? se tiver um material eu agradeco.

Marcos Augusto

7 Respostas

E

O seu problema não é com packages e sim como usar o javac.

Se o seu fonte está em C:\estudo_java\src\exam\stuff\Tea.java , sua classe cert.Beverage provavelmente está em C:\estudo_java\src\cert\Beverage.java, não?

E o Eclipse provavelmente deve ter gerado os arquivos .class em subdiretórios de C:\estudo_java\bin, não?

Se for isso, então para compilar a classe exam.stuff.Tea, você tem de usar o comando:

cd c:\estudo_java
javac -sourcepath src -classpath bin -d bin src\exam\stuff\Tea.java

Isso supondo que o javac esteja no seu PATH, é claro. Para rodar seu programa, use o comando:

java -classpath bin exam.stuff.Tea
pispico

Mostra como vc colocou sua estrutura de pasta plz…

Projeto
|
|main
|
utilidades
|
nada - ex -teste (detalhe nada , ex, teste sao pastas rs…)
|
supernice

E

E é por isso que mesmo eu uso muito pouco o javac na linha de comando. Por ter de passar esses parâmetros chatos e detalhados, eu ainda prefiro compilar com o Eclipse ou NetBeans.

M

Obrigado pela ajuda pessoal.

Eu criei estas classes no TextEdit editor de texto. O eclipse foi so um exemplo que funciona.
Eu copiei a estrutura que eu acho que seria a mesma criado por ele.

é a seguinte c:\estrudo_java\src\cert
c:\estrudo_java\src\exam\stuff
c:\estrudo_java\src\bin

eu tenho o java e o javac funcionando na linha de comando…

esta classe esta na pasta cert

package cert;

public class Beverage{

public void importantMethod(){}

}

esta na pasta exam.stuff

package exam.stuff;

import cert.Beverage;

class Tea extends Beverage{

public static void main(String args[]){

}

}

obrigado

Marcos

M

Obrigado a todos pela ajuda.
Consegui resolver o problema a solução é simples se alguem com experiencia discordar por favor espero criticas ate por que estou comecando.

é o seguinte no classpath dessa forma CLASSPATH=.;%CLAS_PARH%;C:;

com as pastas obedecendo o package :


import estudo_java.src.cert.Beverage;

class Tea extends Beverage{



}

no windows

cd\estudo_java\src\cert\Beverage
c:>estudo_java\src\cert\Beverage\javac Tea.java
pronto o erro de que não se pode instanciar uma classe final acontece

correto ?

M

Resoolvido

aajjbb

ok. apenas, quando for colar um codigo, ponha entres a tags e escrever Resolvido no titulo do topico.

Criado 29 de julho de 2010
Ultima resposta 31 de jul. de 2010
Respostas 7
Participantes 4