2017-07-13 30 views
0

プロジェクトをtomcat7サーバーにデプロイしていますが、上記のタイトルでエラーが発生しました。以下のような例外が表示されます。FAIL - コンテキストパス/ ProjectNameでアプリケーションを起動できませんでした(java.lang.UnsupportedClassVersionError)

Jul 13, 2017 10:24:48 AM org.apache.catalina.core.StandardContext filterStart 
SEVERE: Exception starting filter naviox 
java.lang.UnsupportedClassVersionError: org/survey/model/HomeProfile: Unsupported major.minor version 52.0 (unable to load class org.survey.model.HomeProfile) 
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2892) 
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1172) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558) 
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:224) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:270) 
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:242) 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.buildHibernateConfiguration(EntityManagerFactoryBuilderImpl.java:1136) 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:853) 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) 
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425) 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849) 
    at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:75) 
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:54) 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) 
    at org.openxava.jpa.XPersistence.getEntityManagerFactory(XPersistence.java:197) 
    at org.openxava.jpa.XPersistence.createManager(XPersistence.java:112) 
    at org.openxava.component.parse.AnnotatedClassParser.obtainManagedClassNamesUsingJPA(AnnotatedClassParser.java:2740) 
    at org.openxava.component.parse.AnnotatedClassParser.getManagedClassNames(AnnotatedClassParser.java:2655) 
    at com.openxava.naviox.impl.BaseAllModulesNamesProvider.getAllModulesNames(BaseAllModulesNamesProvider.java:19) 
    at com.openxava.naviox.impl.AllModulesNamesProvider.getAllModulesNames(AllModulesNamesProvider.java:14) 
    at com.openxava.naviox.impl.MetaModuleFactory.createAll(MetaModuleFactory.java:27) 
    at com.openxava.naviox.impl.DB.createModules(DB.java:127) 
    at com.openxava.naviox.impl.DB.populateDB(DB.java:83) 
    at com.openxava.naviox.impl.DB.populateDB(DB.java:75) 
    at com.openxava.naviox.impl.DB.init(DB.java:27) 
    at com.openxava.naviox.Modules.init(Modules.java:39) 
    at com.openxava.naviox.web.NaviOXFilter.init(NaviOXFilter.java:22) 
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281) 
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262) 
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107) 
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4746) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5399) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1256) 
    at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:714) 
    at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:219) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:213) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:744) 

これは初めてのことです。 JDKのバージョンの違いによる例外はありますか?私はjdk 1.8を使用しており、私が配備したフォルダはjdk 1.7を使用しています。もしそうなら、私はどのようにエラーを解決できますか?

助けてください。前もって感謝します。

+1

tomcatでJDK 8を使用します。 – 11thdimension

+0

私の上司は私のjdk1.8をjdk1.7にダウングレードするように言った。どうすればダウングレードできますか?私のPCのコントロールパネルでjava8をアンインストールするだけですか? –

+1

両方のバージョンをマシンにインストールすることができます。 JAVA_HOMEがあなたが望むバージョン(java7)を指しているようにしてください。これを見てください:https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/ – Tavo

答えて

1

エラーは、ソースをクラスにコンパイルしたJDKのバージョンとそれを実行しようとしているJREのバージョンが異なるためです。

JREの上位バージョンがJDKの下位バージョンでコンパイルされたクラスを実行することができ、クラスを実行することができないJREのが下位バージョンつまりより高いバージョン

でコンパイル、Javaは、唯一の後方互換性があります理にかなっている。

これも同じエラーが発生します。

上司からJava 7を使用するように指示された場合は、3つのオプションを選択できます。

  1. はそれを使用してのJava 7がもはやをサポートされていることを彼に説明しません。 https://java.com/en/download/faq/java_7.xml
  2. コードをコンパイルするだけでなく実行するには、Java 7を使用します。
  3. JDKの上位バージョンでコンパイルされたサードパーティのライブラリがある場合、またはJava 8の機能を使用するソースコードがある場合、2番目のオプションは機能しません。サードパーティライブラリの問題は、JDKの古いバージョンでコンパイルされたライブラリのバージョンをインポートするか、ソースコードにアクセスしてから旧バージョン用にコンパイルすることで解決できます。すでにJava 8の機能を使用している場合は、sourcetargetのオプションをJavacにコンパイルして、より高いJava機能を持つソースをより低いJavaバージョンのクラスファイルにコンパイルする必要があります。

以下のようになります。

javac -source 1.8 -target 1.7 HelloWorld.java 
0

.javaを.classにコンパイルする場合、jdk 1.8を使用しても、コンプライアンスレベルを1.7に設定するか、jcat 1.8を使用してtomcatを実行することもできます。 javacを使用する場合は、-source 1.7 -target 1.7を指定します。 IDEを使用している場合は、同じ効果を持つように設定することをお勧めします。
たとえば、Eclipseでは、プロジェクト/プロパティ/ Javaコンパイラでtheese設定を見つけることができます。
NetBeansプロジェクト/プロパティ/ソース/ソース - バイナリ形式。

関連する問題