Oops... I forgot the code
package ant; import java.io.File;
import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.Javac; import org.apache.tools.ant.types.Path; public class AntRunner { // separador de arquivos (\) public static final String FILE_SEP = (String) System.getProperty("file.separator"); // separador de linhas(\n) public static final String NEW_LINE = (String) System.getProperty("line.separator"); // bibliotecas necessárias para compilação public static final String LIB_DIR = "D:\\eclipse\\workspace\\Ant\\lib"; // cria um projeto no Ant private Project createProject() { Project project = new Project(); project.init(); return project; } // configura o classpath inserindo todas as bibliotecas // necessárias ao programa em teste // libsPath = diretório onde estão os arquivos *.jar private void configureClassPath(Javac javac, String libsPath) { // bibliotecas exigidas pelo programa em teste if (libsPath != null && libsPath.length() > 0) { File additionalDir = new File(libsPath); if (additionalDir.exists()) { // lista os jars do diretório String[] jars = additionalDir.list(new JarFileFilter()); for (int i = 0; i < jars.length; i++) { javac.createClasspath().setLocation(new File(jars[i])); } } else { System.err.println("DIRETÓRIO '" + libsPath + "' NÃO EXISTE"); } } } // compila os arquivos java // srcPath = diretório onde estão os arquivos *.java // libsPath = diretório onde estão os arquivos *.jar // destPath = diretório onde estarão os arquivos *.class public void compile(String srcPath, String libsPath, String destPath) { // cia o projeto Ant na memória Project project = createProject(); // cria a tarefa de compilação Javac javac = (Javac) project.createTask("javac"); javac.init(); // adiciona as bibliotecas necessárias à compilação configureClassPath(javac, LIB_DIR); configureClassPath(javac, libsPath); // origem dos arquivos *.java Path src = javac.createSourcepath(); src.setLocation(new File(srcPath)); javac.setSrcdir(src); // destino dos arquivos *.class File dest = new File(destPath); dest.mkdir(); javac.setDestdir(dest); System.out.println("CLASSPATH=" + javac.getClasspath()); // executa a tarefa javac.setVerbose(true); javac.execute(); } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]