2017-05-26 86 views
0

嗨,我遇到下面的錯誤在我的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和其他人手動添加。

回答

0

的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。