speshak
speshak

Reputation: 2477

ClassNotFound exception using Jackson ObjectMapper

I have a Spring 3 MVC app that I am setting up some ajax actions for. My controller action looks like this:

@RequestMapping(value="add", method=RequestMethod.POST)
@Secured("ROLE_USER")
@ResponseStatus(HttpStatus.CREATED)
public @ResponseBody Plan addPlan(@RequestBody Plan plan, Principal principal) {
     //Save the plan
}

When I post the Plan data from my browser the app throws a ClassNotFound exception:

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)

The Plan object itself does not contain any joda-date types. Though it contains a collection of objects that do. Originally I was pulling in the joda-date jar via my DOA jar but the error persists even if I add a direct dependency to my web project's pom.xml. I'm using the joda classes elsewhere in this project without any issue.

Additional information Here are the relevant dependencies from my web 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>

Upvotes: 4

Views: 3144

Answers (2)

Jakub Bochenski
Jakub Bochenski

Reputation: 3277

I've reported this on Glassfish JIRA https://java.net/jira/browse/GLASSFISH-20808

Upvotes: 0

speshak
speshak

Reputation: 2477

I somehow came across this question: Apache FTP server is not seeing a logging jar package that exists in the class path

Their solution of setting <class-loader delegate="false"> in glassfish-web.xml seems to have fixed my issues.

Upvotes: 1

Related Questions