문제

ANT가 Maven2로 구축 한 Java 응용 프로그램을 마이그레이션하려고합니다. 무엇보다도 빌드는 다음 작업을 수행합니다.

  1. Javadoc Doclet을 실행하여 나중에 웹 서비스로 외부화 할 주석이 달린 Java 파일을 찾습니다.

  2. 3 단계에 대한 코드의 작은 부분을 컴파일합니다.

  3. 2 단계에서 컴파일 된 코드에서 Axis java2wsdl 실행

  4. 3 단계에서 WSDL 파일에서 wsdl2java로 Java 코드를 생성합니다.

  5. 전체 코드를 컴파일합니다

프로세스를 "mavenize"하려고 할 때 한 번에 각 작업을 수행 할 수 있지만 그 순서대로 모든 작업을 달성하지 못합니다.

내 POM을 시연하고 세부 사항을로드하지 않으려면 다음 스 니펫을 보여 드리겠습니다.

<build>
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.6.1</version>
        <executions>
            <execution>
                <id>aggregate</id>
                <phase>generate-sources</phase>
                <goals>
                    <goal>aggregate</goal>
                </goals>
                <configuration>...</configuration>
            </execution>
        </executions>
    </plugin>
        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.1</version>
        <executions>
            <execution>
                <id>compileWSfiles</id>
                <goals>
                    <goal>compile</goal>
               </goals>
               <phase>generate-sources</phase>
                <configuration>
                    <includes>
                        <!-- include 3 source files -->
                    </includes>
                </configuration>

            </execution>
        </executions>
      </plugin>
          <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>axistools-maven-plugin</artifactId>
        <version>1.3</version>
        <dependencies>
          <dependency>
                <groupId>axis</groupId>
                <artifactId>axis</artifactId>
                <version>1.3</version>
          </dependency>
        </dependencies>
        <executions>
            <execution>
                <id>java2wsdl</id>
                <phase>generate-sources</phase>
                <goals>
                    <goal>java2wsdl</goal>
                </goals>
                <configuration>...</configuration>
            </execution>

             <execution>
                <id>wsdl2java</id>
                <phase>generate-sources</phase>
                                    <goals>
                                           <goal>wsdl2java</goal>
                                    </goals>
                                    <configuration>...</configuration>
                            </execution> 
        </executions>
    </plugin>
</plugins>

주요 문제는 사물의 순서를 제어 할 수 없으며 모든 단계 출력이 다음 단계 입력이기 때문에 여기에서 분명히 중요합니다.

도움이 되었습니까?

해결책

플러그인이 같은 단계에 묶여 있습니다 해야한다 POM에 나열된 것과 동일한 순서로 실행되지만 ... 이것에 대한 공개 문제가 있습니다 (MNG-2258). 또한 관련 문제를 살펴보십시오 MNG-3719 (특별한주의를 기울이십시오 이 의견). 나는 "속임수"라고 생각하지 않기 때문에 MNG-3719 당신의 경우에, 나의 제안은 Maven 2.0.8 :( 그리고 손가락을 건너 회귀에 직면하지 않는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top