2015-02-17 4 views
0

при использовании трикотажа MoxyКак получить EclipseLink 2.6.0-m3 работы с Джерси 1.18.3

<!-- Jersey moxy --> 
    <dependency> 
     <groupId>com.sun.jersey.contribs</groupId> 
     <artifactId>jersey-moxy</artifactId> 
     <version>1.18.3</version> 
     <scope>provided</scope> 
    </dependency> 

вместе с затмением ссылку 2.6.0-M3

<!-- Eclipse Link persistence --> 
    <dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>eclipselink</artifactId> 
     <!-- <version>2.4.2-RC1</version> --> 
     <!-- <version>2.5.1-RC3</version> --> 
     <!-- <version>2.5.1</version> --> 
     <!-- <version>2.5.2-M1</version> --> 
     <!-- <version>2.5.2</version> --> 
     <version>2.6.0-M3</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>commonj.sdo</artifactId> 
       <groupId>commonj.sdo</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

я получить

java.lang.NoClassDefFoundError: javax/validation/ConstraintViolationException 
    at org.eclipse.persistence.jaxb.JAXBMarshaller.<init>(JAXBMarshaller.java:102) 
    at org.eclipse.persistence.jaxb.JAXBContext$JAXBContextState.createMarshaller(JAXBContext.java:1527) 
    at org.eclipse.persistence.jaxb.JAXBContext.createMarshaller(JAXBContext.java:385) 
    at org.eclipse.persistence.jaxb.JAXBContext.createMarshaller(JAXBContext.java:1) 

Я попытался обойти проблему, изменив порядок в моем pom.xml и что работает в некоторых моих проектах. Во вложенной среде, где некоторые проекты зависят от другой, проблема снова проявилась.

http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg08372.html предполагает, что dependeny может отсутствовать, поэтому я добавил:

<!-- 
    http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg08372.html 
    http://mvnrepository.com/artifact/javax.validation/validation-api/1.1.0.Final 
    --> 
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.1.0.Final</version> 
    </dependency> 

права, где EclipseLink зависимость проявляется. Это также помогает.

Действительно ли это ошибка? Каким будет «правильный» способ решить эту проблему?

К сожалению, у меня нет возможности обновить Jersey до 2.x, так как существует слишком много несовместимостей и (как я слышал) ошибок.

ответ

2

Правильный способ решения этой проблемы - добавить javax.validation: validation-api dependency.

проверки Bean является новая функция в EclipseLink 2.6.0, как указано в конструкции Doc https://bugs.eclipse.org/bugs/attachment.cgi?id=241506

В результате, что теперь требуется зависимость.

Я подал новый запрос расширения на EclipseLink, чтобы сделать эту зависимость необязательной.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=460330

 Смежные вопросы

  • Нет связанных вопросов^_^