Tenho uma aplicacao que esta na seguinte estrutura de diretorio:

Os fontes estao no diretorio:
\aplicacao

As classes estao no diretorio:
\aplicacao\br\com\classes

Todas as classes fazem parte de uma package (br.net.classes) e sao compiladas com o 
comando:
\aplicacao>javac -d \aplicacao *.java

Quando tento usar o debug seja pelo Forte ou com o jdb, recebo uma mensagem informando 
que o fonte nao foi localizado.

---- Exemplo ----------
\aplicacao>jdb -sourcepath \aplicacao -classpath \aplicacao 
br.com.classes.classePrincipal 
Initializing jdb...
> stop at br.com.classes.classePrincipal:32
Deferring breakpoint br.com.classes.classePrincipal:32.
It will be set after the class is loaded.
> run
run br.com.classes.classePrincipal
Java HotSpot(TM) Client VM warning: Setting of property "java.compiler" is ignored
>
VM Started: Set deferred breakpoint br.com.classes.classePrincipal:32

Breakpoint hit: thread="main", br.com.classes.classePrincipal.main(), line=32, bci=0

main[1] list
Source file not found: classePrincipal.java
main[1] exit
------------------------

Copiando os fontes do diretorio "\aplicacao" para o diretorio 
"\aplicacao\br\com\classes" tudo funciona como esperado.

Fiz outro teste:

1) deletei os arquivos *.java do diretorio "\aplicacao\br\com\classes". Ou seja, os 
fontes voltaram a existir apenas no diretorio "\aplicacao";
2) retirei o comando "package br.net.classes" de todas os arquivos .java;
3) compilei as classes com o comando "javac -d \aplicacao *.java";
4) executei o comando jdb -sourcepath \aplicacao -classpath \aplicacao 
br.com.classes.classePrincipal.

Neste caso o fonte foi localizado... tudo funcionou como esperado (tanto no Forte 
quanto no jdb).

Resumindo quando a classe tem o comando "package br.com.classes" o fonte (.java) tem 
que ficar no mesmo diretorio da classe (.class), pois aparentemente a opcao 
-sourcepath parece ser ignorada. Quando a classe nao faz parte de uma package (nao tem 
o comando package) o fonte pode estar no diretorio indicado na opcao -sourcepath.

A pergunta eh: por que isso acontece? 

Eu gostaria de manter os arquivos .class da minha package (br.com.classes) separados 
dos respectivos arquivos .java e gostaria tambem de poder usar o debug (tanto Forte, 
como o jdb) com toda a sua funcionalidade. Eh certo organizar o projeto desta forma?

Alguem pode estar se perguntando, quem eh esse maluco que usa o jdb? ... acreditem ele 
ja me ajudou, quando nao tinha o Forte e o jbuilder por perto... :-) 

Abracos,
Wilton


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a