Версия Джексона для API загрузки Amazon s3 в Glassfish 4.1

Привет, я столкнулся со следующей ошибкой в ​​моей стеклянной рыбе

Предупреждение. Системное исключение возникло во время вызова EJB FileUpload, метод: public java.lang.String com.sahvidya.ejb.entityoperations.FileUpload.personalFileUploadFromSystem(com.sahvidya.entity.entitysystem.PersonalDirectory,org.primefaces.model.UploadedFile ,java.lang.String) вызывает исключение java.io.IOException


Предупреждение: javax.ejb.TransactionRolledbackLocalException: Исключение, вызванное bean-компонентом: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectMapper.enable([Lcom/fasterxml/jackson/core/JsonParser$Feature;)Lcom/ fastxml/jackson/databind/ObjectMapper;

Просматривая различные блоги, я понимаю, что версия Glassfish 4.1 имеет более старую библиотеку jackson (2.4), в которой нет этого метода, и ее необходимо обновить до версии Jakcson (2.8). Я думал об обновлении своей стеклянной рыбы, но столкнулся с другой проблемой. Сохраняя ту же версию стеклянной рыбы, можно ли обновить версию Джексона. Простое добавление обновленного проекта jackson jar files решит эту задачу? Будет ли проблема с конфликтом версий для двух версий Джексона, доступных в проекте. Один из Netbeans, а другой я добавил вручную.


person Bhanu Gupta    schedule 26.05.2017    source источник


Ответы (1)


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

jackson-core.jar имеет версию 2.3.2, поэтому у нашего развернутого приложения Glassfish возникают проблемы.

Переопределить легко. Добавьте WEB-INF/glassfish-web.xml в ваше веб-приложение с более поздними зависимостями Джексона с этим содержимым:

<!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>

Несмотря на ссылки на 3.1 в DOCTYPE, он отлично работает с 4.1.1.

person Bhanu Gupta    schedule 27.05.2017