我得到了这个缺少的要求:
osgi.wiring.package = javax.validation
在Karaf 3我尝试了bundle:install -s mvn:javax.validation/validation-api/1.0.0.GA
,但它似乎没有正确安装。
有关如何解决这个缺失的要求的任何想法?
Karaf 3.0.1引入了一个新的hibernate-validator功能,它是企业存储库的一部分,默认情况下可用:
> feature-list|grep hibernate-validator
hibernate-validator | 5.0.3.Final | | enterprise-3.0.1 | Hibernate Validator support
> feature:info hibernate-validator
...
Feature contains followed bundles:
mvn:javax.validation/validation-api/1.1.0.Final
mvn:com.fasterxml/classmate/1.0.0
mvn:javax.el/javax.el-api/2.2.4
mvn:org.glassfish.web/javax.el/2.2.4
mvn:org.hibernate/hibernate-validator/5.0.3.Final
mvn:org.jboss.logging/jboss-logging/3.1.4.GA
hibernate-validator在bean验证API中指定的验证器之上添加了一些验证器。
你能告诉我你正在使用的java版本,以及PROPERY JAVA_HOME的值。
看起来您可能正在使用Java 8.我认为目前可能不支持它。
我有同样的问题,并切换到JDK1.7并解决了javax。*的所有缺少的需求错误。
你必须包装javax验证,因为它不是一个有效的包
有效命令:
install wrap:mvn:javax.validation / validation-api / 1.0.0.GA
验证规范可以从各个地方安装。您可以将apache bval与geronimo规范一起使用:
Bval有几个依赖项:
只要您只有一个规范实现,Geronimo规范就是OSGi就绪并且可以正常工作。
如果包装和hibernate-validator没有解决您的问题,您可以尝试servicemix bundle
Apache的ServiceMix的规格:: :: JSR 303 API 1.0.0
karaf方面你应该安装捆绑..
>bundle:install mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jsr303-api-1.0.0/2.6.0
bundle 55
>start 55
>list
您还应该在项目中包含包
<dependency>
<groupId>org.apache.servicemix.specs</groupId>
<artifactId>org.apache.servicemix.specs.jsr303-api-1.0.0</artifactId>
<version>2.6.0</version>
</dependency>
包
javax.validation
javax.validation.bootstrap
javax.validation.constraints
javax.validation.groups
javax.validation.metadata
javax.validation.spi
org.apache.servicemix.specs.locator