我得到了这个缺失的要求:
osgi.wiring.package = javax.validation
在Karaf 3
我试过了bundle:install -s mvn:javax.validation/validation-api/1.0.0.GA
,但它似乎没有正确安装。
如何解决这个缺失的要求?
答案 0 :(得分:1)
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中指定的验证器之外添加了一些验证器。
答案 1 :(得分:1)
您能告诉我您正在使用的java版本,以及PROPERY JAVA_HOME的值。
看起来您可能正在使用Java 8.我认为目前可能不支持它。
我有同样的问题并切换到JDK1.7并且javax。*的所有缺少的需求错误都已解决。
答案 2 :(得分:0)
你必须包装javax验证,因为它不是一个有效的包
有效命令:
install wrap:mvn:javax.validation / validation-api / 1.0.0.GA
答案 3 :(得分:0)
可以从各个地方安装验证规范。您可以将apache bval与geronimo规范一起使用:
Bval有几个依赖项:
只要您只有一个规范实现,Geronimo规范就是OSGi就绪并且可以正常工作。
答案 4 :(得分:0)
如果包装和hibernate-validator没有解决你的问题,你可以试试servicemix bundle
Apache ServiceMix :: Specs :: JSR 303 API 1.0.0
karaf方面你应该安装捆绑..
PhysicalFileResult
此外,您应该在项目中包含包
>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>