gpt4 book ai didi

jax-ws - 难倒了 wsgen + maven 配置

转载 作者:行者123 更新时间:2023-12-01 19:03:34 24 4
gpt4 key购买 nike

我花了一整天的时间寻找如何让 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 文件夹只会返回命令行输入描述的错误。

对此的任何帮助将非常感激

谢谢

最佳答案

  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 项目结构,则以下示例片段将起作用。

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

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

关于jax-ws - 难倒了 wsgen + maven 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9017206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com