D.3. 在任何 Maven 项目上运行目标
您还可以在任何 Maven 项目上运行验证目标,而无需将插件添加到 pom.xml
文件中。您需要使用其完全限定名称来指定 Plugin。
流程
要在 Apache Camel 的
camel-example-cdi
插件中运行目标,请运行以下命令:$cd camel-example-cdi $mvn org.apache.camel:camel-maven-plugin:7.11.0.fuse-sb2-7_11_0-00028-redhat-00001:validate
这显示了以下输出:
[INFO] ------------------------------------------------------------------------ [INFO] Building Camel :: Example :: CDI 2.16.2 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- fabric8-camel-maven-plugin:2.3.80:validate (default-cli) @ camel-example-cdi --- [INFO] Endpoint validation success: (4 = passed, 0 = invalid, 0 = incapable, 0 = unknown components) [INFO] Simple validation success: (0 = passed, 0 = invalid) [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------
在成功传递验证后,您可以验证四个端点。以下示例显示如何验证和若有需要,请更正 camel 端点。
示例
我们假设您在源代码中的一个 Camel 端点 URI 中产生拼写错误,例如:
正确的 Camel 端点 URI 如下。
@Uri("timer:foo?period=5000")
您可以进行更改以在
period
选项中包含拼写错误,例如:@Uri("timer:foo?perid=5000")
再次运行验证目标。
[INFO] ------------------------------------------------------------------------ [INFO] Building Camel :: Example :: CDI 2.16.2 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- org.apache.camel:camel-maven-plugin:7.11.0.fuse-sb2-7_11_0-00028-redhat-00001:validate (default-cli) @ camel-example-cdi --- [WARNING] Endpoint validation error at: org.apache.camel.example.cdi.MyRoutes(MyRoutes.java:32) timer:foo?perid=5000 perid Unknown option. Did you mean: [period] [WARNING] Endpoint validation error: (3 = passed, 1 = invalid, 0 = incapable, 0 = unknown components) [INFO] Simple validation success: (0 = passed, 0 = invalid) [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------
如上所示,会显示 camel 端点 URI 中的错误。