D.3. 모든 Maven 프로젝트에서 목표 실행

pom.xml 파일에 플러그인을 추가하지 않고도 모든 Maven 프로젝트에서 검증 목표를 실행할 수도 있습니다. 정규화된 이름을 사용하여 플러그인을 지정해야 합니다.

절차

  • Apache Camel의 camel-example-cdi 플러그인에서 목표를 실행하려면 다음 명령을 실행합니다.

        $cd camel-example-cdi
        $mvn io.fabric8.forge:fabric8-camel-maven-plugin:2.3.80: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] ------------------------------------------------------------------------

검증을 성공적으로 통과하면 4개의 끝점을 검증할 수 있습니다. 다음 예제는 필요한 경우 camel 끝점을 올바르게 수정하는 방법을 보여줍니다.

예제

다음과 같은 소스 코드에서 Camel 엔드포인트 URI 중 하나에 오타를 발생했다고 가정하겠습니다.

  1. 올바른 Camel enpoint URI는 다음과 같습니다.

      @Uri("timer:foo?period=5000")
  2. 다음과 같은 period 옵션에 오타 오류를 포함하도록 변경할 수 있습니다.

      @Uri("timer:foo?perid=5000")
  3. validate goal을 다시 실행합니다.

    [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 ---
    [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의 오류 위에 표시된 대로.