Tenho uma aplicaçãozinha um pouco complexa.
Ela está divida em vários pacotes. E esses pacotes são mutuamente dependentes.
Como faço para compilar utilizando o “javac” todos os pacotes simultaneamente.
Pois se eu tento compilar pacote por pacote não da certo por causa das dependências.
No eclipse isso é trivial, porém como é um trabalho, preciso entregar apenas os .java
e o professor deve ser capaz de compilar tudo com um unico comando.
Normalmente eu enviaria um script (batch) com vários comandos “javac” e colocaria todos os pacotes no mesmo comando. Obviamente iria mandar um arquivo script (ou batch) contendo o comando correto para a compilação. Não se esqueça de testar antes, e em uma máquina “limpa” e diferente da sua também.
Algo como:
javac -d bin -sourcepath src br\com\teste*.java br\com\teste2*.java
Leia as opções do comando “javac” (basta digitar javac. Ele irá mostrar algo como:
teoricamente, ele deve apenas compilar a classe main, que é o ponto inicial do seu programa, os .java não são compilados diretamente, são intepretados para um .class e então compilados. Outra alternativa seria transformar tudo em um .jar.
TangZero
Carinha, não conheço forma de se compilar todos os fontes de um diretório src de uma só vez com um simples javac, algo como um javac -sourcepath src *.
Porque você não monta um script Ant? :lol:
maruero
Valew galera…
Então Thiagol eu estou pensando em fazer extamente isso mesmo, porém, eu tenho um problema, o pacote “a” tem uma referencia de uma classe do pacote “b” e vice-versa. Então eu nao posso mandar compilar o pacote “a” inteiro de uma vez. (Ou eu estou fazendo besteira). Sua ideia daria certo se eu compilasse .java por .java.
Fnandos sua idéia nao da certo. Isso apenas funciona se tudo estivesse dentro de um mesmo pacote. Criar um jar seria uma solução, mas eu estou querendo fugir dessa, como expliquei a cima, o professor quer analisar todos os pacotes antes de compilar.
TangZero vc sabe um exemplo fácil de script Ant? Nunca usei Ant… seria como uma Makefile???
Abração galera e muito obrigado mesmo!
T
thingol
Se você fizer do jeito que indiquei, o javac se vira para manter as dependências. É trabalhoso, mas deve funcionar.
TangZero
Parecido com um Makefile? Talvez, só que é 1000x mais poderoso.
TangZero sempre soube da existência do Ant só que sempre achei que nao compensava o crime ( estudar uma linguagem só usada pra compilar…), mas pelo visto ela é bem mais útil do que eu imaginava… vou dar uma olhada com mais calma nela agora…
Abração!
TangZero
Aconselho realmente, que você procure aprender Ant, pois é uma ferramenta extremamente versátil e flexível. :lol: