Compilar class com dependência via DOS

Fala galera, beleza?

Mais um problema meu para compilar usando comando DOS por dentro do Java via Process …

é o seguinte … tenho o código abaixo:


String cp = "set CLASSPATH=C:\Desenvolvimento\COBDN\util\dist\util.jar";
String local = "C:\TEMP\Comp";
   
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        try {
            //Process diretorio = Runtime.getRuntime().exec(comandoCmd+comandoCd+local);
            Process compila = Runtime.getRuntime().exec("cmd /c javac "+local+"\*.java");
            //Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "+comando);
            //Process copia = Runtime.getRuntime().exec(comandoCopy+destino);
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null,"Erro ao compilar o arquivo!");
        }
}

Esse processo que faz a compilação funcionaria perfeitamente, se os arquivos .java que existem nesse local não tivessem dependência, ou seja, para poder compilar isso, eu teria que setar a CLASSPATH, por isso eu criei a String cp, ela mostra exatamente o que preciso … se eu abrir uma janela DOS e fazer esse processo, eu consigo compilar na boa … pois vou setar a Classpath, apertar ENTER e jogar a linha de código do javac no local que eu quiser … o problema que estou tendo é para fazer isso via Java, pois eu não sei como fazer 2 linhas de código na mesma janela DOS, já que cada process desse serveria como um prompt !

Espero que tenham entendido e agradeço quem puder me ajudar !

Abraçosss !

Você pode setar a classpath não como uma variável de ambiente (não recomendado) mas como um parâmetro da linha de comando:

java -classpath arquivo1.jar;arquivo2.jar;arquivo3.jar;diretorio NomeSeuArquivo.java

A propósito, eu recomendaria a você aprender o ANT, que já faz essa parte de compilação para você.

Você salvou minha vida ! :slight_smile:

Se vier pro RJ algum dia ti apresento uma prima minha … rsrs … ! :smiley:

Valeu … abraços !