Executar jar que executa outro jar

4 respostas
A

galera,
tenho um jar (oi.jar, digamos) que tem uma main e, dentro da main, tem o seguinte:

Runtime.getRuntime().exec("java -jar otro.jar");

esse ‘otro.jar’ tem uma main-class que abre uma janela.

quando executo o oi.jar pela linha de comando (cmd, java -jar oi.jar), funciona. mas quando executo pelo java (com 2 cliques), ele nao faz nada. alguem sabe porque acontece isso?

4 Respostas

deniswsrosa

Olá!

Você pode tanto criar um arquivo bat (ou sh) que executa seu jar quanto configurar isto no manifest, este post pode te ajudar:
http://www.guj.com.br/posts/list/115953.java

A

entao kra eu estou tentando fazer com que soh quando o usuario clique no jar (2x) ele ja chame o runtime. getruntime().exec(java…) e ja funcione… nao queria criar bats e shs… serah que tem como fazer isso? minha mainclass no manifestt ja esta criada.

OliveirakunJava

Isso vc pode fazer da seguinte forma:

import java.io.IOException;

public class Oi {
	
	public static void main(String[] args){
		try {
			Runtime.getRuntime().exec("cmd /c start /B C:\outro.jar"); //depois do parâmetro /B vc deve digitar o caminho do .jar que será executado
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

Boa sorte!!

A

ok. obrigado, funcionou!
soh que eu esqueci de dizer que preciso mandar um parametro pra jvm. por exemplo, quando executo o jar direto, uso o java -server -jar nomedojar.jar. como posso fazer isso? ja tentei de algumas maneiras mas nao consegui…

Criado 8 de março de 2010
Ultima resposta 8 de mar. de 2010
Respostas 4
Participantes 3