【问题标题】:Stumped on wsgen + maven configuration难倒 wsgen + maven 配置
【发布时间】:2012-01-26 11:06:07
【问题描述】:

我花了一整天的时间寻找解决方案,了解如何让 wsgen + maven 从我的带注释的类中生成工件,但无济于事,总是以“找不到类文件”错误结束。

我的 pom.xml 如下所示:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>wsgen</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <sei>fr.extelia.ibabi.ws.convergence.impl.ServiceWSConvergence</sei>
                <keep>true</keep>
                <verbose>true</verbose>
                <sourceDestDir>target/generated-sources/artifacts</sourceDestDir>
                <packageName>fr.extelia.ibabi.ws.convergence.stub</packageName>
            </configuration>
            <dependencies>
            <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>
                    <version>2.2.5</version>
                </dependency>
            </dependencies>
        </plugin>

此外,我尝试在命令行生成工件,但没有更好的结果:

wsgen -cp C:\workspace\ibabi\trunk\ibabi-ws\ibabi-ws-service\target\classes -keep -s C:/workspace/ibabi/trunk/ibabi-ws/ibabi-ws-service/target/generated-sources/artifacts fr.extelia.ibabi.ws.convergence.impl.ServiceWSConvergence

PS:我在命令行中使用“classes”文件夹作为端点类的位置。使用 src 文件夹只会返回带有命令行输入描述的错误。

对此的任何帮助将不胜感激

谢谢

【问题讨论】:

    标签: jax-ws maven-plugin wsgen


    【解决方案1】:
    1. 使用命令行 wsgen

      wsgen -cp C:\workspace\ibabi\trunk\ibabi-ws\ibabi-ws-service\target\classes 
      -keep -s C:/workspace/ibabi/trunk/ibabi-ws/ibabi-ws-service/target/generated-       
      sources/artifacts 
      fr.extelia.ibabi.ws.convergence.impl.ServiceWSConvergence
      

      运行wsgen命令时,首先确认源文件夹是C:/workspace/ibabi/trunk/ibabi-ws/ibabi-ws-service/target/generated-sources/artifacts内部产生 C:\workspace\ibabi\trunk\ibabi-ws\ibabi-ws-service\target\classes。 在运行 wsgen 之前,fr.extelia.ibabi.ws.convergence.impl.ServiceWSConvergence 字节码文件应该在里面 C:\workspace\ibabi\trunk\ibabi-ws\ibabi-ws-service\target\classes。

    2. 使用 Maven

      使用来自 org.jvnet.jax-ws-commons 而不是 org.codehaus.mojo 的依赖项。 org.codehaus.mojo 插件已迁移到 org.jvnet.jax-ws-commons。
      从http://jax-ws-commons.java.net/jaxws-maven-plugin/wsgen-mojo.html 参考 maven wsgen 的不同有效选项 如果项目基于默认的 maven 项目结构,则以下示例 sn-p 将起作用。

      <build>
        <pluginManagement>
          <plugins>              
              <plugin>
                  <groupId>org.jvnet.jax-ws-commons</groupId>
                  <artifactId>jaxws-maven-plugin</artifactId>
                  <version>2.1</version>
                  <executions>
                      <execution>
                          <goals>
                              <goal>wsgen</goal>
                          </goals>
                      </execution>
                  </executions>
      
                  <configuration>
                      <sei>fr.extelia.ibabi.ws.convergence.impl.ServiceWSConvergence</sei>
                      <sourceDestDir>src/main/java</sourceDestDir>
                  </configuration>
      
                  <dependencies>
                      <dependency>
                          <groupId>com.sun.xml.ws</groupId>
                          <artifactId>jaxws-tools</artifactId>
                          <version>2.2.5</version>
                      </dependency>
                  </dependencies>
                </plugin>
            </plugins>
          </pluginManagement>
      </build>
      

    如果您仍然遇到问题,请发布您的项目结构。

    【讨论】:

    【解决方案2】:

    您不需要定义目标,但首先要编译服务实现类。 mvn 编译

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-16
      • 2016-07-15
      相关资源
      最近更新 更多