maven jaxws не удалось выполнить wsgen - PullRequest
4 голосов
/ 06 января 2012

Я использую netbeans с maven 3. Когда я пытаюсь скомпилировать с помощью jaxws-maven-plugin, я получаю следующую ошибку.

Вот мой помп

 <build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>teamWS</id>
                    <goals>
                        <goal>wsgen</goal>
                    </goals>
                    <phase>generate-sources</phase>
                    <configuration>
                        <resourceDestDir>${project.build.directory}/classes/wsdl</resourceDestDir>
                        <sei>xyz.timerserver.server.TimeServer</sei>
                        <genWsdl>true</genWsdl>
                        <keep>true</keep>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
    </dependency>

    <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>jsr250-api</artifactId>
    </dependency>

    <dependency>
        <groupId>javax.jws</groupId>
        <artifactId>jsr181-api</artifactId>
        <version>1.0-MR1</version>
    </dependency>

    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-rt</artifactId>
    </dependency>

</dependencies>

Это сообщение об ошибке, которое я получаю.Я пытался добавить tools.jar, используя зависимость от области видимости, но все равно не повезло

Failed to execute goal org.codehaus.mojo:jaxws-maven-plugin:1.10:wsgen (teamWS) on project JWSServer: Failed to execute wsgen: com/sun/mirror/apt/AnnotationProcessorFactory: com.sun.mirror.apt.AnnotationProcessorFactory -> [Help 1]

Ответы [ 3 ]

12 голосов
/ 02 февраля 2012

В качестве первого шага убедитесь, что вы используете maven с правильной версией Java - jaxws: wsgen (1.12), кажется, работает неправильно с java 7 , в такой ситуацииcase use java 6 , то есть:

  • , если вы запускаете его из оболочки, export JAVA_HOME=/path/to/java/6
  • , если вы запускаете его из IDE, укажитеJava-версия во время запуска IDE
    • например, для затмение , используйте опцию запуска -vm /path/to/java/6

Для меня, это решило Failed to execute wsgen, вызванное com.sun.xml.bind.v2.runtime.IllegalAnnotationsException.

10 голосов
/ 03 октября 2012

Попробуйте использовать обновленную версию плагина из проекта JAX-WS commons.

<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.2</version>
1 голос
/ 17 января 2017

Проект только что вернулся в MojoHaus, поэтому вы должны использовать последнюю версию из там .

  1. <2007: <strong>1.0-1.12 (groupId org.codehaus.moj o)
  2. 2007-2015: 2.1-2.3.1 (groupId org.jvnet.jax-ws-commons )
  3. 2015-сегодня: > = 2,4 (groupId org.codehaus.mojo )

Первоначальный код былразработанный в проекте Codehaus Mojo, затем по состоянию на март 2007 года проект перешел на jax-ws-commons с версией 1.x в org.codehaus.mojo groupId и версией 2.x в org.jvnet.jax-ws-commons groupId, В сентябре 2015 года для версии 2.4 он вернулся в MojoHaus (новый дом Codehaus Mojo) в org.codehaus.mojo groupId

<dependency>
 <groupId>org.codehaus.mojo</groupId>
 <artifactId>jaxws-maven-plugin</artifactId>
 <version>2.5</version>
</dependency>
...