Aplicação para executar um .jar

3 respostas
java
Bruno_Agues

Estou tentando criar uma aplicação que receba um arquivo jar e o execute por linha de comando. Consigo rodar esse jar pelo DOS, mas no main não tá rolando.

public static void main(String[] args) {
	
		try {
			Process process = Runtime.getRuntime().exec("cmd /c  java - jar C:\\Users\\bruno.agues\\Desktop\\Teste.jar");
			Scanner leitor = new Scanner(process.getInputStream());
			while (leitor.hasNextLine()) {
				System.out.println(leitor.nextLine());
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

3 Respostas

D

Você está conseguindo ver o erro?

tem capturar outras saídas:

process.getOuputStream()
process.getErrorStream()

Bruno_Agues

Denis, obrigado pela resposta.
Me foi pedido para utilizar um bat mesmo, acabei colocando dessa forma .

//Conteúdo do bat

java -Dspring.profiles.active=production -Dkeystore.file=file:///$PWD/src/main/resources/keystore.p12 -jar target/nomeDoJar.jar

//tive que por assim pois pelo q me foi dito o jar nao estava contendo o html, não entendi direito, então só consegui executar o mesmo por linha de comando quando ele estava na pasta padrão.

//meu main

public static void main(String[] args) {

Process start = null;

try {

String comando = cmd /c C:\Users\bruno.agues\Desktop\teste.bat;

start = Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " + comando);
BufferedReader r = new BufferedReader(new InputStreamReader(start.getErrorStream()));
		String line = null;

		while ((line = r.readLine()) != null) {
			System.out.println(line);
		}
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

Quando tentei com um jar simples (não sendo um projeto completo e sim apenas um main), foi apenas exportar o mesmo no eclipse pela opção Runnable JAR file e substituir o conteúdo do bat por:

java -jar caminhoDoJar/NomeDoJar.jar

Bruno_Agues

Completando minha resposta, antes desse comando do bat, tem q ser mudada para a pasta padrão do jar (onde ele foi gerado após o biuld ) ex:

cd C:\WORKSPACE\workspaceTreinamento\nome_do_projeto

Criado 12 de julho de 2016
Ultima resposta 13 de jul. de 2016
Respostas 3
Participantes 2