jaxws-maven-plugin wsgen на конечной точке теста - PullRequest
1 голос
/ 13 июня 2011

Я пытаюсь заставить maven 3 запускать wsgen для двух конечных точек веб-службы. Одна - это конечная точка «production», расположенная в src / main / java, а другая - конечная точка «test», расположенная в src / test / java.

Проблема в том, что wsgen не находит sei-класс 'test', поскольку (предположительно) он имеет только src / main / java на пути к классам. Невозможно напрямую установить путь к классу wsgen с помощью jaxws-maven-plugin (для него нет элемента config). Я пробовал связываться с фазой создания тестовых источников, но без радости

Вот фрагмент кода:

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>1.10</version>
            <executions>
                <!-- this works fine -->
                <execution>
                    <id>Production</id>
                    <configuration>
                        <genWsdl>true</genWsdl>
                        <verbose>true</verbose>
                        <protocol>soap1.1</protocol>
                        <sei>com.foo.ws.ProductionEndPoint</sei>
                        <sourceDestDir>${project.build.directory}/jaxws/wsgen/src</sourceDestDir>
                        <destDir>${project.build.directory}/jaxws/wsgen/classes</destDir>
                        <packageName>com.foo.ws</packageName> 
                    </configuration>
                    <goals>
                        <goal>wsgen</goal>
                    </goals>
                </execution>
                <!-- this fails with Class Not Found on the sei class -->
                <execution>
                    <phase>generate-test-sources</phase>
                    <id>Test</id>
                    <configuration>
                        <genWsdl>true</genWsdl>
                        <verbose>true</verbose>
                        <protocol>soap1.1</protocol>
                        <sei>com.foo.ws.TestEndPoint</sei>
                        <sourceDestDir>${project.build.directory}/jaxws/wsgen/src</sourceDestDir>
                        <destDir>${project.build.directory}/jaxws/wsgen/classes</destDir>
                        <packageName>com.foo.ws.test</packageName> 
                    </configuration>
                    <goals>
                        <goal>wsgen</goal>
                    </goals>
                </execution>
            </executions>

            <dependencies>
                <dependency>
                    <groupId>com.sun.xml.ws</groupId>
                    <artifactId>jaxws-tools</artifactId>
                    <version>2.1.4</version>
                </dependency>

            </dependencies>
        </plugin>
    </plugin>
</build>

1 Ответ

2 голосов
/ 29 января 2012

Вы должны привязаться к фазе Process-Test-Class вместо <phase>process-test-classes</phase> Это должно быть <phase>process-test-classes</phase>

...