2016-01-19 2 views
2

Я создал простое приложение Spring MVC, которое работает безупречно на моей локальной машине. Однако, загрузив его в Google App Engine, я получаю ошибку HTTP 500.Получение запроса SpringMappingHandlerMapping в Google App Engine

Глядя в журналы, я получаю это сообщение: INFO

org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions: Loading XML bean definitions from ServletContext resource [/WEB-INF/enterprise-servlet.xml] 

что является нормальным, так как я получаю это сообщение INFO при запуске приложения локально. Spring затем перейти на карте URLs на методы, например, сообщение журнала из моей локальной машины:

org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.register Mapped "{[/listStaff],methods=[GET],produces=[application/json || application/xml]}" onto public java.util.List<org.andrewvincent.model.Staff> org.andrewvincent.controller.Controller.listStaffXML() 

Однако при взгляде на журналы из приложения двигателя, я получаю следующее сообщение об ошибке:

org.springframework.web.context.support.XmlWebApplicationContext refresh: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping': Invocation of init method failed; nested exception is java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessClassInPackage.sun.reflect.annotation") 

Я предполагаю, что именно поэтому я получаю код ошибки 500, поскольку URL-адреса не сопоставляются с методами, но я не могу понять, почему я получаю эту ошибку, когда я не локально.

Ниже мое предприятие-servlet.xml:

<beans xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns="http://www.springframework.org/schema/beans" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-4.0.xsd 
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc.xsd"> 

    <mvc:annotation-driven/> 

    <bean id="controllerBean" class="org.andrewvincent.controller.Controller"></bean> 
    <bean id="plainControllerBean" 
     class="org.andrewvincent.controller.PlainTextController"></bean> 

    <mvc:resources mapping="/resources/**" location="/resources/"/> 

    <mvc:default-servlet-handler/> 
</beans> 

Если кто-то может помочь мне было бы очень высокую оценку.

+0

Какую версию весны вы используете? –

+0

@NielsMasdorp Я использую версию 4 – andrewvincent7

ответ

1

Это bug.

Вы используете 4.2.4? Если это так, вы должны перейти на 4.2.3.

+0

Большое спасибо, это решило мою проблему. – andrewvincent7