Domanda

Sto provando a migrare un'applicazione Java costruito da Ant a Maven2. Tra l'altro la costruzione eseguire le seguenti operazioni:

  1. Esecuzione di un doclet javadoc per trovare i file Java annotati per essere esternare in seguito come Web services

  2. compilare una piccola parte del codice per il passaggio 3

  3. run Java2WSDL Axis sul codice compilato dal passaggio 2

  4. produrre codice Java con WSDL2Java sui file WSDL dal punto 3

  5. compilare l'intero codice

Quando si cerca di "mavenize" il processo che può compiere ogni attività alla volta, ma non riescono a raggiungere tutti in questo ordine.

Per dimostrare il mio pom e non si carica con i dettagli vi mostrerò il seguente frammento:

<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>

Il problema principale è che non ho controllo sull'ordine delle cose ed è ovviamente importante qui come ogni uscita passo è il successivo step input.

È stato utile?

Soluzione

Plugin legato alla stessa fase dovrebbe essere eseguito nello stesso ordine in cui sono elencati nel POM, ma ... c'è una questione aperta su questo ( MNG-2258 ). Anche dare un'occhiata a un tema correlato MNG-3719 (prestare particolare attenzione ai < a href = "http://jira.codehaus.org/browse/MNG-3719?focusedCommentId=164221&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_164221" rel = "noreferrer"> questo commento ). Dal momento che non credo che il "trucco" di MNG-3719 è possibile nella vostra caso, il mio suggerimento è quello di provare con Maven 2.0.8 :( e incrocia le dita per non affrontare qualsiasi regressione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top