杰克逊版本对于Amazon S3上传API在Glassfish的4.1

问题描述:

嗨,我遇到下面的错误在我的GlassFish杰克逊版本对于Amazon S3上传API在Glassfish的4.1

Warning: A system exception occurred during an invocation on EJB FileUpload, method: public java.lang.String com.sahvidya.ejb.entityoperations.FileUpload.personalFileUploadFromSystem(com.sahvidya.entity.entitysystem.PersonalDirectory,org.primefaces.model.UploadedFile,java.lang.String) throws java.io.IOException


Warning: javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectMapper.enable([Lcom/fasterxml/jackson/core/JsonParser$Feature;)Lcom/fasterxml/jackson/databind/ObjectMapper;

通过看各种博客我明白GlassFish的4.1版本中,老龄杰克逊库( 2.4),它没有这个方法,需要升级Jakcson版本(2.8)。我想升级我的玻璃鱼,但遇到其他问题。保持相同的glassfish版本将是升级杰克逊版本的方式。只需添加更新的杰克逊jar文件项目将解决目的?项目中可用的两个jackson版本是否会存在版本冲突问题?一个来自Netbeans和其他人手动添加。

的GlassFish 4.1.1确实邦德在一些杰克逊罐子:

./glassfish/modules/jackson-jaxrs-base.jar 
./glassfish/modules/jackson-annotations.jar 
./glassfish/modules/jersey-media-json-jackson.jar 
./glassfish/modules/jackson-databind.jar 
./glassfish/modules/jackson-jaxrs-json-provider.jar 
./glassfish/modules/jackson-core.jar 

杰克逊-core.jar添加为2.3.2版本,所以这就是为什么我们的GlassFish应用部署越来越问题。

覆盖很容易。 WEB-INF/GlassFish实现-web.xml文件添加到您的Web应用程序与后来杰克逊依赖与此内容:

<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD 
GlassFish Application Server 3.1 Servlet 3.0//EN" 
"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> 
<glassfish-web-app> 
    <class-loader delegate="false"/> 
</glassfish-web-app> 

尽管DOCTYPE它正常工作与4.1.1引用3.1。