2017-02-08 5 views
1

Я новичок в openshift, я разработал проект обслуживания с использованием netbeans и tomcat 7 и развернул его в openshift, чтобы использовать его в небольшом проекте Android, чтобы узнать некоторые андроиды вещи. , когда я вызываю службу из localhost, используя postman, он возвращает результат, но когда я вызываю его из спускаемой строки, он возвращает эту ошибку. HTTP Status 500 - Servlet.init() для сервлета. Служба REST Джерси выбрала исключение с учетом того, что он возвращает тот же index.html, когда я вызываю ссылку на проект без расширения сервлета и сервиса «отображение сервлетов».openshift HTTP Status 500 - Servlet.init() выбрано исключение

это возвращает статус HTTP 500

http://testandroid-anacondafci.rhcloud.com/AndroidBackEndTest2/services/getStudents/

хотя это работает http://localhost:8080/AndroidBackEndTest2/services/getStudents

это файл web.xml для проекта `

<?xml version="1.0" encoding="UTF-8"?> 

<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    version="3.0"> 
    <display-name>Testing</display-name> 
    <servlet> 
    <servlet-name>Jersey REST Service</servlet-name> 
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
    <init-param> 
     <param-name>jersey.config.server.provider.packages</param-name> 
     <param-value>BackEndPackage</param-value> 
    </init-param> 
    <init-param> 
     <param-name>jersey.config.server.mvc.templateBasePath.jsp</param-name> 
     <param-value>/WEB-INF/jsp</param-value> 
    </init-param> 
    <init-param> 
     <param-name>jersey.config.server.provider.classnames</param-name> 
     <param-value>org.glassfish.jersey.server.mvc.jsp.JspMvcFeature</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>Jersey REST Service</servlet-name> 
    <url-pattern>/services/*</url-pattern> 
    </servlet-mapping> 
    <session-config> 
     <session-timeout> 
      30 
     </session-timeout> 
    </session-config> 
</web-app> 

`

и это форма ответа OpenShift

HTTP Status 500 - Servlet.init() for servlet Jersey REST Service threw exception 

type Exception report 

message Servlet.init() for servlet Jersey REST Service threw exception 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: Servlet.init() for servlet Jersey REST Service threw exception 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:683) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1042) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) 
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:745) 
root cause 

java.lang.UnsupportedClassVersionError: BackEndPackage/Services : Unsupported major.minor version 52.0 (unable to load class BackEndPackage.Services) 
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2961) 
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1210) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1690) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) 
    java.lang.Class.forName0(Native Method) 
    java.lang.Class.forName(Class.java:278) 
    org.glassfish.jersey.internal.util.ReflectionHelper$6.run(ReflectionHelper.java:374) 
    org.glassfish.jersey.internal.util.ReflectionHelper$6.run(ReflectionHelper.java:369) 
    java.security.AccessController.doPrivileged(Native Method) 
    org.glassfish.jersey.server.internal.scanning.AnnotationAcceptingListener$AnnotatedClassVisitor.getClassForName(AnnotationAcceptingListener.java:257) 
    org.glassfish.jersey.server.internal.scanning.AnnotationAcceptingListener$AnnotatedClassVisitor.visitEnd(AnnotationAcceptingListener.java:219) 
    org.objectweb.asm.ClassReader.accept(ClassReader.java:1495) 
    org.objectweb.asm.ClassReader.accept(ClassReader.java:425) 
    org.glassfish.jersey.server.internal.scanning.AnnotationAcceptingListener.process(AnnotationAcceptingListener.java:169) 
    org.glassfish.jersey.server.ResourceConfig.scanClasses(ResourceConfig.java:883) 
    org.glassfish.jersey.server.ResourceConfig._getClasses(ResourceConfig.java:840) 
    org.glassfish.jersey.server.ResourceConfig.getClasses(ResourceConfig.java:755) 
    org.glassfish.jersey.server.ResourceConfig$RuntimeConfig.<init>(ResourceConfig.java:1171) 
    org.glassfish.jersey.server.ResourceConfig$RuntimeConfig.<init>(ResourceConfig.java:1144) 
    org.glassfish.jersey.server.ResourceConfig.createRuntimeConfig(ResourceConfig.java:1140) 
    org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:299) 
    org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:311) 
    org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:169) 
    org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:359) 
    javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:683) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1042) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) 
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:745) 
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.54 logs. 

спасибо за интерес

ответ

0

за исключением:

UnsupportedClassVersionError: BackEndPackage/Services : Unsupported major.minor version 52.0 

точек на вопросы ява версии. Если вы создаете свое приложение локально, а затем развертываете в OpenShift, возможно, версия Java в OpenShift старше, чем версия Java, с которой вы скомпилируете свое приложение.

Основная версия 52 указывает, что код был скомпилирован с помощью Java 8. Вы можете попробовать скомпилировать с Java 7 и снова развернуть свое приложение.

Если вы используете maven для своей сборки, вы можете установить исходные и целевые версии, используя: https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html