axis2-wsdl2code-maven-plugin wsdl Файл в другом артефакте - PullRequest
1 голос
/ 17 ноября 2011

Учитывая зависимость A с WSDL-файлом a.wsdl в src / main / resources / wsdl. Я бы хотел включить его в зависимость B, которая имеет зависимость компиляции от A для генерации классов оси с

         <plugin>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>bar</id>
                    <goals>
                        <goal>wsdl2code</goal>
                    </goals>
                    <configuration>
                        <generateServerSide>false</generateServerSide>
                        <packageName>com.foo</packageName>
                        <wsdlFile>/wsdl/a.wsdl</wsdlFile>
                        <databindingName>adb</databindingName>
                    </configuration>
                </execution>
            </executions>
        </plugin> 

когда a.wsdl хранится в Артефакте B, он работает нормально, но перемещение его в A не работает, java.io.FileNotFoundException указывает на папку wsdl в Артефакте B.

Есть ли возможность включитьwsdl Файлы, которые находятся в другом Артефакте как axis2-wsdl2code-maven-plugin?

1 Ответ

1 голос
/ 18 ноября 2011

Вы можете извлечь файл WSDL из артефакта A во время сборки артефакта B:

<plugin>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.3</version>
    <executions>
        <execution>
            <goals>
                <goal>unpack-dependencies</goal>
            </goals>
            <phase>generate-sources</phase>
            <configuration>
                <includes>**/*.wsdl</includes>
                <outputDirectory>${project.build.directory}/wsdl</outputDirectory>
                <includeArtifactIds><artifact-a></includeArtifactIds>
                <includeGroupIds><artifact-a-group-id></includeGroupIds>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>bar</id>
            <goals>
                <goal>wsdl2code</goal>
            </goals>
            <configuration>
                <generateServerSide>false</generateServerSide>
                <packageName>com.foo</packageName>
                <wsdlFile>${project.build.directory}/wsdl/extracted/path/to/a.wsdl</wsdlFile>
                <databindingName>adb</databindingName>
            </configuration>
        </execution>
    </executions>
</plugin>
...