使用Camel Bean Validator时出现异常。 No component found with scheme: bean-validator
例外
我在我的POM中有这些依赖
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-bean-validator</artifactId>
<version>2.13.2</version>
<scope>provided</scope>
</dependency>
我正在使用Bean Validator组件,如下所示
from("direct:XXX").process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
Car car = new Car();
//car.setVehicleId(1);
car.setName("Swift");
car.setCompany("Maruti");
exchange.getIn().setBody(car);
}
}).to("bean-validator://x").process(new Processor() {
@Override
public void process(Exchange arg0) throws Exception {
LOG.debug("Bean Validation is Success");
}
});
但是当我将生成的战争部署到Wildfly时,我得到异常No component found with scheme: bean-validator
。令我惊讶的是,代码在独立应用程序中运行良好。
非常感谢您的帮助。
答案 0 :(得分:2)
问题是您将范围定义为提供的,这意味着JAR通常已经是服务器的一部分。您通常只使用API JAR提供的范围,例如servlet api等。
所以改变这个
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-bean-validator</artifactId>
<version>2.13.2</version>
<scope>provided</scope>
</dependency>
要
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-bean-validator</artifactId>
<version>2.13.2</version>
</dependency>