при использовании трикотажа 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, так как существует слишком много несовместимостей и (как я слышал) ошибок.