tomcat8
Red Hat Enterprise Linux 7에서 이를 구성하려고 합니다 . 나는 (내가 설정한) 데비안 버전에서 구성 파일을 얻었습니다.
[...]
JAVA_OPTS='-Djava.awt.headless=true'
JAVA_OPTS='${JAVA_OPTS} -Dfile.encoding=UTF-8'
JAVA_OPTS='${JAVA_OPTS} -XX:+UseConcMarkSweepGC'
# memory
JAVA_OPTS='${JAVA_OPTS} -Xmx1024m -Xm1024m'
# logging
JAVA_OPTS='${JAVA_OPTS} -Dlogback.configurationFile=$CATALINA_BASE/conf/logback.xml'
[...]
Red Hat의 경우 이 구성이 작동하지 않습니다. 다음 오류가 발생합니다.
Error: Could not find or load main class ${JAVA_OPTS}
Caused by: java.lang.ClassNotFoundException: ${JAVA_OPTS}
하지만 한 줄에서 제거 ${JAVA_OPTS}
하고 연결 하면 다음과 같습니다.JAVA_OPTS
JAVA_OPTS='-Djava.awt.headless=true -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -Xmx1024m -Xm1024m' -Dlogback.configurationFile=$CATALINA_BASE/conf/logback.xml'
효과가있다.
또한 %JAVA_OPTS% ${JAVA_OPTS}
로 교체해 보았습니다 . 왜 인식이 안되는지 $JAVA_OPTS
아시나요 ?tomcat8
${JAVA_OPTS}
감사해요!
답변1
작은따옴표는 쉘이 내부의 명령/변수를 해석하지 않도록 지시합니다. 따라서 확장/해석 구조가 없습니다 ${JAVA_OPTS}
. 다음과 같이 해보세요(큰따옴표 사용).
[...]
JAVA_OPTS='-Djava.awt.headless=true'
JAVA_OPTS="${JAVA_OPTS} -Dfile.encoding=UTF-8"
JAVA_OPTS="${JAVA_OPTS} -XX:+UseConcMarkSweepGC"
# memory
JAVA_OPTS="${JAVA_OPTS} -Xmx1024m -Xm1024m"
# logging
JAVA_OPTS="${JAVA_OPTS} -Dlogback.configurationFile=$CATALINA_BASE/conf/logback.xml"
[...]
또한 내가 아는 한 최신 버전의 Java를 -Xms
대신 사용해야 합니다.-Xm