2012-03-14 2 views
3

프로젝트를 상속하고 (다른 개발자의 지침에 따라) 내 Tomcat의 버전 catalina.bat을 (동일한 버전을 사용하고 있습니다) 덮어 씁니다. 그런 다음 Tomcat을 다시 시작하려고 시도했는데 Tomcat 종속성 인 commons-logging.jar과 관련된 예외가있었습니다.catalina.bat 환경 변수를 변경할 수 있습니까?

많은 좌절감을 겪은 후 방금 Tomcat의 다른 버전을 다운로드하고 상자 (구성 없음)에서 바로 실행 해 보았습니다 ... 그리고 나는 동일한 오류가 발생했습니다!

그래서 며칠 전에 this question에 문의했습니다. 그 공감대는 나의 classpath가 어떻게 든 더러워 졌다는 것이었고 지금은 맹목적으로 복사 된 웜이 어떤 방법 으로든 맹목적으로 복사 된 환경 변수를 부트 덤프 (bootstrap) 기능에 영향을 미치는지 (심지어 버전에 관계없이) 복사했는지 궁금합니다.

이 질문은 다른 질문과 비슷하지만 다른 질문입니다. 내 첫 번째 질문은 "무엇이 잘못 되었습니까?"훨씬 더 일반적 이었지만 지금은 (관련이 있지만) 묻고있는 것은 더 구체적이며 약 catalina.bat이며 Windows 7 환경 변수와 관련이 있습니다.

도움을 주셔서 감사합니다.

편집 :이 질문은 이미 "주제가 아님"에 대한 closevote가 있습니다. 내 주장은 다음과 같습니다 : SO는 프로그래밍 Q입니다 & 코드 및 프로그래밍과 관련된 특정 질문을하기위한 사이트입니다. catalina.bat은 코드 인 스크립트이며,이 질문은 제가 사용하고있는 스크립트의 잠재적 인 버그/결함과 관련이 있습니다.

: catalina.bat에 오류 메시지가 표시되는 줄을 찾았습니다. (마찬가지로 Tomcat이 시작되는 곳도 마찬가지입니다).

퍼센트 %의 % JAVA_OPTS % % CATALINA_OPTS % % DEBUG_OPTS % -Djava.endorsed.dirs = "%의 JAVA_ENDORSED_DIRS %의"-classpath "%의 CLASSPATH %의"_EXECJAVA - : 그것은 (7.0.19의 변경 버전) 라인이야 Dcatalina.base = "%의 CATALINA_BASE %의"-Dcatalina.home = "%의 CATALINA_HOME %의"-Djava.io.tmpdir는 = "%의 CATALINA_TMPDIR의 %"% MAINCLASS % % CMD_LINE_ARGS % % 액션 %

나는 할 수 있었다

스크립트에서 echos를 배치하고 다음 값을 얻을 :

JAVA_OPTS = -Djava.util.logging.config.file="C:\Program Files\Apache\apache-to 
mcat-7.0.19\conf\logging.properties" -Djava.util.logging.manager=org.apache.juli 
.ClassLoaderLogManager 
CATALINA_OPTS = 
DEBUG_OPTS = 
JAVA_ENDORSED_DIRS = C:\Program Files\Apache\apache-tomcat-7.0.19\endorsed 
CLASSPATH = C:\Program Files\Apache\apache-tomcat-7.0.19\bin\bootstrap.jar 
CATALINA_BASE = C:\Program Files\Apache\apache-tomcat-7.0.19 
CATALINA_HOME = C:\Program Files\Apache\apache-tomcat-7.0.19 
CATALINA_TMPDIR = C:\Program Files\Apache\apache-tomcat-7.0.19\temp 
MAINCLASS is org.apache.catalina.startup.Bootstrap 
CMD_LINE_ARGS = 
ACTION = start 

JAVA_OPTS 나의 FUL있다 logging.propertiesClassLoaderLogManager 항목으로주의를 기울여야합니다. 이 의미는 누구에게도 무엇입니까?!?

+0

자체 환경 변수를 설정합니다. 보고있는 오류에 대해 알지 못하면 도움을 줄 수 없습니다. –

+2

Java 옵션으로 엉망진 디렉토리에'setenv.bat'가 있는지 확인하십시오. –

+0

좋은 제안 @horse하지만 해당 디렉토리에는 setenv.bat이 없음 – IAmYourFaja

답변

2

catalina.bat를 비롯한 모든 배치 파일에서 환경 변수를 설정할 수 있습니다. 그러나 이러한 변경 사항은 현재 실행중인 환경에서만 유지되며 다른 모든 실행 환경에는 영향을 미치지 않습니다.

CLASSPATH의 경우 설정중인 클래스 경로에 대한 정보를 제공하는 set CLASSPATH=과 같은 내용이 있으면 해당 배치 파일을 살펴보십시오.

+0

'catalina.bat'에서'set CLASSPATH ='하지만 ... thats ... – IAmYourFaja

+0

'set CLASSPATH ='만 있고 그 행에 아무것도 없다면 catalina.bat가 실제로 전체 CLASSPATH를 파괴한다는 것을 의미합니다 . 주석을 달고 ('rem set CLASSPATH =') 문제가 해결되었는지 확인하십시오. – belgther

+0

감사합니다. belgther - EXECJAVA 명령의 반향 된 값을 포함하는 제 2 편집을 참조하십시오. – IAmYourFaja

1

다른 질문에서 이전 답변을 보면 classpath가 '더럽다'는 합의가 이루어진 것으로 나타나지 않습니다. 하지만 Tomcat 설치 자체는 여러 Tomcat 버전을 혼합하여 더러워졌습니다.

기본적으로 Tomcat은 윤곽을 그리는 것과 같은 문제를 피하기 위해 CLASSPATH의 값을 사용하지 않습니다. 동료가 정확히 무엇을 변경했는지 확인하기 위해 파일을 검토해야합니다 (BAT 파일의 내용을 거의 스크립트로 작성할 수 있다는 점을 감안할 때, 설명에 따라 정확한 문제를 파악하는 것은 거의 불가능합니다).

행운을 빈다.

+0

응답의 지각에 감사드립니다. 그러나 내가 말한 것은 ** 다른 버전의 Tomcat을 다운로드하고'startup.bat'를 상자 밖으로 꺼내서 (변경하지 않음) 실행 한 후에도 ** 같은 문제가 발생하고 있다는 것입니다. Env vars는 여기서 내가 범인이라고 생각할 수있는 유일한 것입니다. 제 동료가 제공 한'catalina.bat' 파일이 env 파일과 엉망이었고, 이제 Tomcat 버전이 작동하지 않을 것이라고 생각합니다. 나는 이것이 단순히 미친 개념인지 아닌지를 묻는 것이다. 그래도 다시 한 번 의견을 보내 주셔서 감사합니다. – IAmYourFaja

+0

아, 당신이 Tomcat의 최신 버전을 다운로드했다고 생각했습니다. 제 실수였습니다. 그러나 환경 변수를 확인 했습니까? 'CATALINA' 모든 것들을 검사하고, 특히'JAVA_OPTS'가 설정되어 있는지 확인하십시오. – Perception

+0

JAVA_OPTS가 보이지 않습니다. 단지 JAVA_HOME이됩니다. – IAmYourFaja