java - 如何排除maven插件配置(无法识别的参数-编码)

标签 java maven jax-ws

我正在使用 jaxws-maven-plugin 生成一些基于 WSDL 文件的 JAX-WS 客户端。

我需要使用 JDK 1.6,因此我使用 JAX-WS Tools 2.1.7 执行

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

如果我在 2.1.7 jaxws-tools 上使用最新版本的 jaxws-maven-plugin 2.2.12.3 我的构建不起作用,因为命令行中添加了无效的 -encoding 参数。

unrecognized parameter -encoding

完整命令是

[DEBUG] cmd.exe /X /C ""C:\Program Files\Java\jdk1.6.0_45\jre\bin\java.exe" -Xbootclasspath/p:.m2\repository\javax\xml\bind\jaxb-api\2.1\jaxb-api-2.1.jar;.m2\repository\javax\xml\soap\saaj-api\1.3\saaj-api-1.3.jar;.m2\repository\javax\xml\ws\jaxws-api\2.1\jaxws-api-2.1.jar org.jvnet.jax_ws_commons.jaxws.Invoker com.sun.tools.ws.wscompile.WsimportTool -keep -s <some dir> -d <some dir> -encoding UTF-8 -p <some package> file:<some wsdl file>"

下面的pom.xml工作正常,我使用2.2,它不发送编码参数。

<build>
    <plugins>
        <plugin>
            <groupId>org.jvnet.jax-ws-commons</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>2.2</version> <!-- This version works fine -->
            <executions>
                <execution>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <wsdlDirectory>src/wsdl</wsdlDirectory>
                <sourceDestDir>src/main/java</sourceDestDir>
                <wsdlFiles>
                    <wsdlFile>ConsultarStatusNfe.wsdl</wsdlFile>
                </wsdlFiles>
                <!-- for JDK 6 compilation compatibility -->
                <xnocompile>false</xnocompile>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>com.sun.xml.ws</groupId>
                    <artifactId>jaxws-tools</artifactId>
                    <version>2.1.7</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

最佳答案

我可以通过设置 <target>2.1</target> 使用最新版本配置。

<plugin>
    <groupId>org.jvnet.jax-ws-commons</groupId>
    <artifactId>jaxws-maven-plugin</artifactId>
    <version>2.3</version>
    <executions>
        <execution>
            <phase/>
            <goals>
                <goal>wsimport</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <wsdlDirectory>src/wsdl</wsdlDirectory>
        <sourceDestDir>src/main/generated</sourceDestDir>
        <wsdlFiles>
            <wsdlFile>myfile.wsdl</wsdlFile>
        </wsdlFiles>
        <packageName>com.souzacruz.pwnfeintegrator</packageName>
        <!-- for JDK 6 compilation compatibility -->
        <xnocompile>false</xnocompile>
        <target>2.1</target>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>jaxws-tools</artifactId>
            <version>2.2.10</version>
        </dependency>
    </dependencies>
</plugin>

关于java - 如何排除maven插件配置(无法识别的参数-编码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30514476/

相关文章:

java - 从网页获取登录帖子请求

java - 如何正确扩展和实现Java泛型接口(interface)

Spring boot 项目未解析依赖项 - 无法在 org.springframework.boot :spring-boot-starter-web:jar:2. 1.1.RELEASE 处收集依赖项

Java JAX-WS xs :dateTime with format UTC and Local

java - WSContext.getUserPrincipal() 为密码摘要认证返回 null

java wsimport 重命名/不同的 ObjectFactory.java

java - 使用 AJAX 将 json 数据发送回 java Rest 服务时出现 415 错误

unit-testing - 在没有浏览器的情况下运行 jstd-maven-plugin 测试

tomcat - 使用 IntelliJ 在 webapp 运行配置中使用 Maven 覆盖?

100 个用户的 JAVA MYSQL 聊天性能问题