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 中产生拼写错误,例如:

  1. 正确的 Camel 端点 URI 如下。

      @Uri("timer:foo?period=5000")
  2. 您可以进行更改以在 period 选项中包含拼写错误,例如:

      @Uri("timer:foo?perid=5000")
  3. 再次运行验证目标。

    [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 中的错误。