|
Uma boa "sa�da" para resolver esse problema com os
packages � usar a op��o -d quando for compilar sua classe.
Por exemplo, digamos que suas classes (.class)
ficar�o na pasta c:\classes
Primeiro adicioine esta pasta ao
CLASSPATH.
Quando for compilar sua classe use o
seguinte:
javac -d c:\classes T.java
Ao fazer isso, o arquivo T.class estar� em
c:\classes\teste
Quando for compilar a classe T1, o diret�rio onde
est� o pacote teste (c:\classes) j� est� no classpath.
javac -d c:\classes T1.java
O arquivo T1.class tamb�m ser� criado em
c:\classes\teste
Espero ter ajudado,
Abra�os
----- Original Message -----
Sent: Wednesday, December 18, 2002 8:31
AM
Subject: Re: [cejug-discussao]
package
N�o � para ficar longe n�o. Todos os .class de um
mesmo pacote devem ficar dentro da mesma estrutura de diret�rio no diret�rio
base d:\sistemas\classes. O que � para ficar longe � o .class do .java,
organizando assim seu c�digo, a estrutura de diret�rios � um
espelho de classes para fontes.
[]'s
Cl�udio Rocha
InterManager.Net
----- Original Message -----
Sent: Tuesday, December 17, 2002 11:22
PM
Subject: Re: [cejug-discussao]
package
Cara eu consegui compilar heheheheh s� tem um pro,
ficou um .class longe do outro, .. � assim mesmo ?
bom o importante � q compilou beleza !
[EMAIL PROTECTED] wrote:
Acho
que vc est� passando pelo que passei h� algum tempo atr�s quando usava
notepad e testava Java em linha de comando. Quando comecei a testar a
funcionalidade package do Java e tentava compilar me deparava com
este problema que vc relatou. Quando se usa a linha de comando javac
tem uma op��o que d� os resultados das v�rias etapas da compila��o do
c�digo (acredito que � javac -verbose Arquivo.java, n�o tenho
certeza agora). Verifiquei com este comando que quando o
compilador encontrava o arquivo com extens�o .java ele ignorava o
arquivo .class correspondente que estava no mesmo pacote e dava erro
(n�o me lembro qual erro dava). O problema � que arquivos fontes e
arquivos compilados estavam no mesmo diret�rio. A solu��o �
simples, � quest�o de organizar a estrutura de diret�rios. Cria-se um
diret�rio raiz, digamos sistemas, dentro deste diret�rio vc cria o
diret�rio classes e o diret�rio fontes no mesmo n�vel do diret�rio
classes. Ent�o no diret�rio fontes vc cria os diret�rios que
representam seus pacotes, por exemplo com\pacoteA. Ficaria ent�o
assim: d:\sistemas\fontes\com\pacoteA d:\sistemas\classes. Ou
seja, dentro do diret�rio fontes vc cria a estrutura que vc gostaria
de dar a seus pacotes e dentro dos diret�rios alvo vc coloca os
*.java. Quando mandar compilar na linha de comando vc deve estar no
diret�rio d:\sistemas\fontes\com\pacoteA, digita o comando: javac
-d d:\sistemas\classes Arquivo.java que o .class ser� criado dentro do
diret�rio d:\sistemas\classes\com\pacoteA, e se n�o existir o
diret�rio com\pacoteA no diret�rio classes o processo de
compila��o o cria e coloca o .class com a estrutura de diret�rios que
foi estabelecida no comando package. Antes que me esque�a, � necess�rio
retirar da vari�vel de ambiente Classpath o . final para que a
compila��o se d� corretamente por que sen�o recai no problema
anterior. Uma dica � a de criar uma vari�vel de ambiente curta
(Ex. %sj%) que guarda o caminho do diret�rio alvo (sem falar em
acionar o doskey no autoexec.bat). Assim o comando ficaria menor:
javac -d %sj% Arquivo.java. Mas n�o desanime, quando se apanha uma
pouco na linha de comando entende-se um pouco mais como o java
funciona, e a programa��o com uma futura IDE se torna bem mais
l�gica.
[]�s Cl�udio Rocha InterManager.Net
>
> package teste; > > public class T{ > >
} > > package teste; > > public class
T1{ > > T t = new T(); > > } > >
Se eu colocar as duas classes no mesmo diretorio eu nao consigo
compilar T1, afinal elas nao fazem parte do mesmo pacote ??? so
consegui compilar quando movi T1 para um diretorio anterior. ser�
que vou ter que espalhar meus fontes em todo o HD ??
EX.:c:\anterior\teste\ (classe T localiza-se aqui) > >
c:\anterior\ (classe T1 localiza-se aqui) > > tentei
compilar um javabean que referenciava outro e quase fiquei louco pq
"cannot resolve symbol", se nao fosse o derby que fumei agora pouco ja
tinha pulado pela janela... > > > >
> > --------------------------------- > Busca Yahoo!
> O melhor lugar para encontrar tudo o que voc� procura na
Internet
------------------------------------------------------------ Mensagem
enviada usando WebMail mantido por FortalNet
ISP. http://www.fortalnet.com.br/
------------------------------------------------------------------------------------------- Ceara'
Java User Group
Para cancelar sua assinatura, envie um e-mail para:
[EMAIL PROTECTED] Para mais informacoes, mande um e-mail
para: [EMAIL PROTECTED] Falar com o administrador? e-mail para:
[EMAIL PROTECTED]
Yahoo! GeoCitiesTudo
para criar o seu site: ferramentas f�ceis de usar, espa�o de sobra e
acess�rios.
--- Outgoing mail is certified Virus Free. Checked by AVG
anti-virus system ( http://www.grisoft.com). Version:
6.0.431 / Virus Database: 242 - Release Date:
17/12/2002
|