Como executar linha de comando em um programa java?

10 respostas
L

Eu estou desenvolvendo uma aplicação que precisa utilizar o ANT.
Eu quero que quando a pessoa click em um botão(“GERAR”) ele execute o ANT.

Na linha de comando eu digito:
ant -DPROJETO.NOME=Teste

alguem sabe como fazer}

10 Respostas

X

Use a class Runtime

Runtime.getRuntime().exec(" ant -DPROJETO.NOME=Teste ");
Mais detalhes
http://javaalmanac.com/egs/java.lang/Exec.html?l=new

B

Opa, blz?

Só por curiosidade, se você precisar usar mais de um comando, pode fazer assim ó:

String[]    cmdarray    =   new String[3];                               
            cmdarray[0]  =   "cmd.exe";
            cmdarray[1]  =   "/C";
            cmdarray[2]  =   "move "+ diretorioEntrada + "\\*.OK* " + diretorioEntrada + "\\enviados\\";
Process p = Runtime.getRuntime().exec(cmdarray);  
        p = null;

[]s!

Tkm

B

ah! esqueci de comentar!!!

o segunto comando do array “/C” é um truque para que os comandos sejam executados mesmo no command de 16-btis do Windows.

Tkm

V

Existe também a classe ProcessBuilder, mas no Java 5.
Ela permite que você ainda configure as variáveis de ambiente que o programa irá usar, o diretório que ele irá iniciar e redirecione o errorstream do programa para o OutputStream default.

Para usar:

ProcessBuilder pb = new ProcessBuilder("javac", "teste.java"); Map<String, String> env = pb.environment(); env.put("CLASSPATH", "c:\jars"); env.remove("PATH"); env.put("PATH", env.get("JavaPath") + "jre1.5.0"); pb.directory("myDir"); pb.redirectErrorStream(true); Process p = pb.start();

A

Topicos nos favoritos!
N usei ainda, mas um dia sei q vou precisar.

D

Como eu favorito o topico?

M

Ctrl+D :shock:

Excelente post man!!!

Vo testa aqui!!!

M

No caso do ant você pode rodar sem utilizar a linha de comando, só tendo os .jar no classpath:

File buildFile = new File("build.xml");
Project p = new Project();
p.setUserProperty("ant.file", buildFile.getAbsolutePath());
p.init();
ProjectHelper helper = ProjectHelper.getProjectHelper();
p.addReference("ant.projectHelper", helper);
helper.parse(p, buildFile);
p.executeTarget(p.getDefaultTarget());

http://www.guj.com.br/posts/list/110696.java

C

xandroalmeida:
Use a class Runtime

Runtime.getRuntime().exec(" ant -DPROJETO.NOME=Teste ");
Mais detalhes
http://javaalmanac.com/egs/java.lang/Exec.html?l=new

Mais simples e direto ao assunto, parabens!

R

não sei se intendi direito… :smiley:
mas vamos lá, o que eu preciso é o seguinte, tenho um sistema desktop de Consulta NFe, e preciso algo fazer rodar dentro dele a pagina da Fazenda para pesquisa e download.

http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=

seria essa pagina, mas também não quero tudo da pagina! quero algumas coisas, para ser mais exato quero a parte de pesquisa e capcha, eu vi um desses em Delphi preciso fazer em Java. Alguém tem uma ideia de onde posso começar? o que pesquisar e taus?

desde de já muito obrigado!

Criado 24 de novembro de 2006
Ultima resposta 14 de jun. de 2013
Respostas 10
Participantes 10