Karaf 3.0缺少javax.validation要求

时间:2014-03-26 18:08:47

标签: osgi apache-karaf osgi-bundle

我得到了这个缺失的要求:

osgi.wiring.package =  javax.validation 

在Karaf 3 我试过了bundle:install -s mvn:javax.validation/validation-api/1.0.0.GA,但它似乎没有正确安装。

如何解决这个缺失的要求?

5 个答案:

答案 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规范一起使用:

  • MVN:org.apache.geronimo.specs / Geronimo的validation_1.0_spec / 1.1
  • MVN:org.apache.bval / org.apache.bval.bundle / 0.5

Bval有几个依赖项:

  • MVN:org.apache.commons /公地lang3 / 3.1
  • MVN:共BeanUtils的/共BeanUtils的/ 1.8.3

只要您只有一个规范实现,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>
相关问题