본문 바로가기
개발/SpringBoot

java 어플리케이션 실행 시 JVM args(JAVA_OPTS) 적용

by 궁즉변 변즉통 통즉구 2021. 12. 8.
반응형

java 어플리케이션 콘솔에서 실행 시 jvm argument를 설정하는 방법을 정리해본다. 

SpringBoot

java -jar 사이에 아래와 같이 java [jvm옵션] -jar app.jar 을 설정하면 된다.

java -javaagent:path/to/applicationinsights-agent-3.2.3.jar -jar <myapp.jar>

 

jvm옵션(ex. javaagent)에 어떤 문자나 길이 등으로 'no matches found: -javaagent: ... ' 뜨면서 실행 안될 때가 있는데 이럴 때는 jvm옵션을 따옴표("")로 묶어주면 정상 실행이 된다.

java -javaagent:"path/to/applicationinsights-agent-3.2.3.jar" -jar <myapp.jar>

 

Docker

Docker 컨테이너를 실행 할때는 ENTRYPOINT를 사용해서 일반 콘솔에서 실행하듯이 작성을 해주면 된다. 

# exec 포맷 경우
ENTRYPOINT ["java", "-javaagent:path/to/applicationinsights-agent-3.2.3.jar", "-jar", "<myapp.jar>"]

# shell 포맷 경우
ENTRYPOINT java -javaagent:path/to/applicationinsights-agent-3.2.3.jar -jar <myapp.jar>

 

Tomcat

Tomcat을 통해 war를 실행할 경우에는 Tomcat을 실행할 때 설정을 해주면 되는데 방법은 2가지 정도 있다. 

하나는 <tomcat>/bin/setenv.sh 파일에 jvm옵션을 추가해는 방법이다.

CATALINA_OPTS="$CATALINA_OPTS -javaagent:path/to/applicationinsights-agent-3.2.3.jar"

 

다른 방법으로는 Tomcat 실행 파일인 <tomcat>/bin/catalina.sh 파일에서 JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS" 라고 되어있는 윗부분에 JAVA_OPTS를 추가적으로 설정해준다.

JAVA_OPTS="-javaagent:path/to/applicationinsights-agent-3.2.3.jar"

 

반응형

댓글