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

java main(String[] args) 의 args 살펴보기

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

java main(String[] args) 의 args 살펴보기


색다른 사실은 아니지만, 

내가 모르고 있던 사실에 대해 확인이 필요한 것들이 있다. 

그것은 내가 생각하고 고민하는 것들의 기초를 담당하기도 하기 때문에 그 사실을 확인하고 인지하는 것은 중요하다. 잘못하면 시작부터 꼬일 수 있기 때문. 

매번 애플리케이션을 만들면서 main함수로 전달되는 args에 대한 확인 작업은 가소롭게 생각될 수 있지만 쓰임에 따라 중요한 사실을 확인하는 일이었다. 


스프링 부트를 통해 스타드 애플리케이션을 만들어보면 

public static void main(String[] args) throws IOException, Exception {

SpringApplication.run(SeleniumDemoApplication.class, args);

}


SpringApplication.run()이 호출 될 때  main에 받은 args를 전달하고 있다. 이는 스프링 부트의 프로퍼티와 기타 설정 정보를 이용하기 위한 용도인 것 같다. 


따라서 기본 스프링부트 애플리케이션의 실행에서 jar 파일 실행 옵션으로 전달하는 프로퍼티 인자 외에 별도의 추가 옵션을 설정할 수 있는지에 대해 확인 및 테스트 한 결과 원했던 결과를 받았다. 


System.out.println("args count =" + args.length); 

for (int j = 0; j < args.length; j++ ) {

char obj[] = new char[args[j].length()]; 

args[j].getChars(0, args[j].length(), obj, 0);

StringBuffer sb = new StringBuffer(); 

for(int i = 0; i < obj.length;i++) {

System.out.println("문자 ["+ obj[i]+ ": ");

sb.append(obj[i]);

}

System.out.println(sb);

}



$ java -jar Demo-0.0.1-SNAPSHOT.jar --aaaa --bbbb 


args count =2


 문자 [-: 

 문자 [-: 

 문자 [a: 

 문자 [a: 

 문자 [a: 

 문자 [a: 

--aaaa


 문자 [-: 

 문자 [-: 

 문자 [b: 

 문자 [b: 

 문자 [b: 

 문자 [b: 

--bbbb


안되던게 아니었고, 단지 몰랐던 것 뿐이었다. 

할 수 없었던게 아니라 가볍게 생각하고 하지 않았던 것이다. 

약간의 수고로움이 있다면 얼마던지 더 나은 방법을 찾을 수 있다. 가끔 잊어먹고 살고 있는 것 같다. 



반응형