У меня есть приложение Spring 3 MVC, для которого я настраиваю некоторые действия ajax. Мои действия контроллера выглядит следующим образом:Исключение ClassNotFound с использованием Jackson ObjectMapper
@RequestMapping(value="add", method=RequestMethod.POST)
@Secured("ROLE_USER")
@ResponseStatus(HttpStatus.CREATED)
public @ResponseBody Plan addPlan(@RequestBody Plan plan, Principal principal) {
//Save the plan
}
Когда я отправляю данные плана из моего браузера приложение генерирует исключение ClassNotFound:
java.lang.ClassNotFoundException: org.joda.time.ReadableInstant not found by jackson-mapper-asl [176]
at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:787)
at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71)
at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Сам объект Plan не содержит каких-либо типов Joda-дата , Хотя он содержит коллекцию объектов, которые делают. Первоначально я забирал jod-date jar через мой баннер DOA, но ошибка сохраняется, даже если я добавляю прямую зависимость от pom.xml моего веб-проекта. Я использую классы joda в другом месте этого проекта без каких-либо проблем.
Дополнительная информация Вот соответствующие зависимости от моего веб-pom.xml:
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.3</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.3</version>
</dependency>
Вы можете разместить соответствующую часть вашего POM? Одна вещь, которую вы всегда можете проверить, - это распаковать свою WAR и убедиться, что joda jar находится в папке WEB-INF lib. – Perception
Вы развертываете ваш webapp на сервере OSGi? – Luciano
@Первис Я добавил кусок моего пом. Я подтвердил, что joda-time jar находится в моем военном файле. – speshak