본문 바로가기
프로그래밍/Java

Java프로그램 안에서 jar파일 실행하기

by Mr-후 2019. 1. 15.
반응형


Java프로그램 안에서 jar파일 실행하기



뭔지는 잘 모르겠지만, 이것 저것 준비를 하고 있다. 

만드는 애플리케이션을 관리해줄 매니저를 만들고 싶다는 생각으로 매니저 어플리케이션(java)에서 특정 기능을 수행하는 java실행파일(.jar) 을 실행하고 싶을 때는 어떻게 할까? 궁금증이 생겼다. 


인터넷을 찾아보니 대부분 많은 사람들은 명령창에서 java -jar를 통해 실행하는 예제가 많았는데 내가 궁금해하던 내용들은 아니었다. 

전 포스팅에 이어 main() 의 args를 통해 들어오는 인자 값을 통해 분기를 하고 분기문에서는 특정 jar파일을 실행하는 방식을 만들고 싶다. 

찾아보니 어설픈 한글 번역이 자동으로 되는 사이트에 질문자가 있었고, 그에 맞는 답이 있어 프로젝트를 생성해서 실행해보니 잘되었다. 

이로서 내가 필요로 했던 것까지 찾게 되었다. 


package com.example.demo;


import java.io.IOException;


import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication

public class JarExecuteDemoApplication {


public static void main(String[] args) {

SpringApplication.run(JarExecuteDemoApplication.class, args);

runStart();

}

public static void runStart() {

try {

Runtime rt = Runtime.getRuntime(); 

Process p = rt.exec("java -jar /Users/Documents/workspace/Demo/target/Demo-0.0.1-SNAPSHOT.jar --aaaa --bbbb"); 

} catch (IOException e) {

e.printStackTrace();

}

}


}



자바 Runtime의 exec() 메서드를 통해 커맨드 창에서 입력하는 명령어를 실행하면 특정 jar파일이 실행되었다. 이 역시 새로울 건 없지만 나에게는 새로운 사실이다. ^^ 



반응형