2014-06-06 3 views
0

이 질문은 기존 질문과 다를 수 있습니다. 그러나 다른 대답은 도움이되지 못했습니다. :(동일한 Java 버전을 사용하여 컴파일 및 배포하더라도 지원되지 않는 major.minor 버전 51.0

다음

내가 이클립스 웹 프로젝트에서 전쟁 파일을 작성하는 JDK1.7를 사용하여 유닉스에서 2. 복사를 웹 어플리케이션 폴더 tomcat7 (윈도우 8) 일식에서 1. 뭐하는 거지입니다. 유닉스도 있습니다 나는 자바를 실행하면 java1.7. -version은 1.7 3. 지금 바람둥이 실행 말한다. 그것은 클래스 지원되지 않는 MAJOR.MINOR 버전에 대한 오류 아래로 던져 51.0

하지 내가 여기에 놓친 거지 무엇인지.

+0

* 정확하게 * 어떻게 * Tomcat을 실행하는지보십시오. 나는 당신이 자바 6을 사용하여 당신이 그것을 실행하고 있다고 확신한다. (Tomcat 시작 로그는 그 정보를 보여준다? 내가 Tomcat을 실행 한 이후로 ...) –

+0

@Jon .. 감사합니다 !! 로그에 아무것도 표시되지 않습니다. 제발 Java 6을 사용하고 있는지 확인할 수있는 곳을 제안 해주세요. –

+0

Tomcat을 시작한 상태에서 진단을 추가하는 것부터 시작합니다. 정확히 어떤 바이너리가 실행 중인지 로그합니다. 등 –

답변

2

기존의 질문처럼 보일 수 있습니다. 그러나 다른 대답은 나를 도왔습니다. : (

기존 질문과 같습니다. 나는 그것을 보장 할 수있다.

문제는 기본적으로 항상 동일합니다. 이 코드는 Java 7과 함께 컴파일되었으며 이전 JVM에서 실행되도록 실행 중입니다. 그것이 오류 메시지의 의미입니다. 항상.

그래서 코드가 이전 JVM에서 실행되는 이유를 알아야합니다.

Tomcat을 실행하는 방법을
  • 하면 톰캣 발사 절차/스크립트가 이전 JVM을 사용하는 이유가 아니라 하나의 당신보다 : 코드는 톰캣에서 실행되기 때문에 그리고, 그것은 당신이 알아 내야 의미 그것을 사용하기를 기대하십시오.

이것은 일반적으로 사용되는 시작 스크립트 또는 스크립트를 식별하고 읽은 다음 환경 변수 설정의 출처를 확인하는 것입니다.

+0

고마워! 그러나 이러한 단계를 수행 할 수있는 몇 가지 방법을 제안 해주십시오. –

+0

Tomcat을 어떻게 시작하는지 알고 있습니까? –

+0

우분투에 있어요 .. 당신이 바람둥이를 설치 한 후 자동으로 시작 파일을 만듭니다 ..나는 "service tomcat7 start"를 사용하여 실행 중이다 –

1

"Unsupported major.minor version"메시지는 코드를 컴파일하는 데 사용 된 버전보다 낮은 버전으로 jvm에서 java를 실행 중임을 나타냅니다. Java는 이전 버전과 호환되므로 Java 7에서 Java 6을 실행할 수는 있지만 다른 방법은 사용할 수 없습니다.

이 바람둥이의 vesion을 확인하려면 다음을 사용 : 내 바람둥이에서 실행하면 내가이 얻을

을 ./version.sh :

<...>/usr/local/apache-tomcat-7.0.50/bin# ./version.sh 
Using CATALINA_BASE: /usr/local/apache-tomcat-7.0.50 
Using CATALINA_HOME: /usr/local/apache-tomcat-7.0.50 
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.50/temp 
Using JRE_HOME:  /usr/local/java 
Using CLASSPATH:  /usr/local/apache-tomcat-7.0.50/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.50/bin/tomcat-juli.jar 
Server version: Apache Tomcat/7.0.50 
Server built: Dec 19 2013 10:18:12 
Server number: 7.0.50.0 
OS Name:  Linux 
OS Version:  2.6.32-47-server 
Architecture: amd64 
JVM Version: 1.7.0_17-b02 
JVM Vendor:  Oracle Corporation 

참고 항목 JVM 버전

문제를 해결하기 위해 할 수있는 일 : 동일한 버전을 사용하여 클래스를 컴파일하거나 최신 버전의 Tomcat을 설치하십시오.

+0

그 스크립트는 오도 된 수 있습니다. 해당 디렉토리에서 직접 catalina.sh를 실행 한 경우 JVM 버전을 알려줍니다. 그러나 Tomcat이 'init'시스템에 의해 시작되면 (OP와 마찬가지로) 환경 변수가 다른 곳에서 나오고 다른 JVM이 사용될 수 있습니다. Tomcat이 'init'시스템에 의해 어떻게 시작되는지 정말로 이해할 필요가있다. –

+0

당신의 요점을 이해합니다. 그러나 OP가 Tomcat을 설치하고 설정에서 변경하지 않은 경우 (게시물에서 보이는 것처럼)이 버전이 무엇인지 나타낼 수 있습니다. 그러나, 당신 말이 맞아, 할 일은, 예를 들어, Java 버전을 로그에 인쇄하는 것입니다. –

+0

참고로, 이는 사용중인 Java 버전 (원래 오류 메시지에서 반 유추 할 수 있음)을 알려주는 것입니다. "version.sh"스크립트 나 로그를 인쇄해도 실제로 JVM 버전이 선택되는 이유/환경 변수 설정의 출처가 표시되지 않습니다. 관련 스크립트를 찾아서 읽어야합니다. 대답은 –

관련 문제