Попытка запустить файл войны - получение ошибок - нужна помощь в понимании catalina.out

1

Я заранее извиняюсь за то, что может быть распространенной ошибкой, но через пару дней, пытаясь понять это... Я думаю, кажется, что военный файл хочет другого java-jdk... но я уже пробовал с этой версией ниже, а также openjdk 1.6 и 1.7.

Tomcat7 работает на Wheezy. Вот моя версия jdk:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)

Вот мой $ JAVA_HOME:

/usr/local/java/jdk1.8.0_05

Вот мой "catalina.out":

INFO: Deploying web application archive /var/lib/tomcat7/webapps/my_app.war
Jun 6, 2014 2:22:50 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/var/lib/tomcat7/webapps/my_app/WEB-INF/lib/javax.servlet-api-3.1.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
...
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.myco.mydata.controller.ShowmydataController] for bean with name 'showmydataController' defined in file [/var/lib/tomcat7/webapps/my_app/WEB-INF/classes/com/myco/mydata/controller/ShowmydataController.class]: problem with class file or dependent class; nested exception is java.lang.UnsupportedClassVersionError: com/myco/mydata/controller/ShowmydataController : Unsupported major.minor version 51.0 (unable to load class com.myco.mydata.controller.ShowmydataController)
...
Caused by: java.lang.UnsupportedClassVersionError: com/myco/mydata/controller/ShowmydataController : Unsupported major.minor version 51.0 (unable to load class com.myco.mydata.controller.ShowmydataController)
...
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.myco.mydata.controller.ShowmydataController] for bean with name 'showmydataController' defined in file [/var/lib/tomcat7/webapps/my_app/WEB-INF/classes/com/myco/mydata/controller/ShowmydataController.class]: problem with class file or dependent class; nested exception is java.lang.UnsupportedClassVersionError: com/myco/mydata/controller/ShowmydataController : Unsupported major.minor version 51.0 (unable to load class com.myco.mydata.controller.ShowmydataController)
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1330) ~[spring-beans-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:594) ~[spring-beans-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1396) ~[spring-beans-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:385) [spring-beans-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:354) [spring-beans-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:97) ~[spring-context-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609) ~[spring-context-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) ~[spring-context-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) ~[spring-web-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) ~[spring-web-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) ~[spring-web-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4790) ~[tomcat-catalina-7.0.28.jar:7.0.28]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5284) ~[tomcat-catalina-7.0.28.jar:7.0.28]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-catalina-7.0.28.jar:7.0.28]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899) ~[tomcat-catalina-7.0.28.jar:7.0.28]
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875) ~[tomcat-catalina-7.0.28.jar:7.0.28]
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) ~[tomcat-catalina-7.0.28.jar:7.0.28]
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963) ~[tomcat-catalina-7.0.28.jar:7.0.28]
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600) ~[tomcat-catalina-7.0.28.jar:7.0.28]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ~[na:1.6.0_31]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) ~[na:1.6.0_31]
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) ~[na:1.6.0_31]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) ~[na:1.6.0_31]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.6.0_31]
    at java.lang.Thread.run(Thread.java:701) ~[na:1.6.0_31]
...

И так далее.

Спасибо заранее за ваше время и внимание!

  • 0
    Каталина ведет себя часто, у вас развернут неверный набор библиотек.
  • 0
    Вы уверены, что Tomcat также использует Java 8? 51.0 - это Java 7, так что похоже, что вы работаете в среде Java 6. Посмотрите на env.sh и startup.sh в каталоге bin.
Показать ещё 5 комментариев
Теги:
tomcat7
war
catalina

2 ответа

1
Лучший ответ

Возможно, я решил эту проблему.

Я установил openjdk 1.7. Затем я отредактировал файл /etc/init.d/tomcat7 и установил JDK_DIRS = "/usr/lib/jvm/java-1.7.0-openjdk-i386".

Tomcat перезапустился успешно, и файл войны начал... kindof... поскольку приложение не полностью работало, но теперь это проблема с DEV. Это видно из Tomcat/Java POV - эта проблема решена.

0

Похоже, что вы компилируете в другой версии JDK, которую у вас есть на сервере приложений, попробуйте выполнить компиляцию с использованием того же jdk.

  • 0
    Я согласен - но я не DEV и не могу повлиять на это легко. У меня есть доступ к серверу и Tomcat, и я пытаюсь решить это таким образом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню