"Invocation of com.sun.tools.ws.wscompile.WsimportTool failed" 使用 JDK 1.8 编译时出错

"Invocation of com.sun.tools.ws.wscompile.WsimportTool failed" Error During Compilation With JDK 1.8

我正在处理一个项目并尝试从编译器版本迁移。从 JDK 1.7 到 1.8。我在构建过程中收到了其中一个模块的以下错误,我无法解决它。

Failed to execute goal org.codehaus.mojo:jaxws-maven-plugin:2.6:wsimport (default) on project wae-client-jar: Invocation of com.sun.tools.ws.wscompile.WsimportTool failed - check output

我正在使用 IntelliJ,我的 Maven 版本是 3.6.3

这是我pom.xml的相关部分:

<plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>2.6</version>
            <executions>
                <execution>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <wsdlDirectory>src/main/wsdl</wsdlDirectory>
                <packageName>com.company.wae.client.ebif.eps.sopi.wsdl</packageName>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>com.sun.xml.ws</groupId>
                    <artifactId>jaxws-rt</artifactId>
                    <version>2.2.10</version>
                </dependency>
                <dependency>
                    <groupId>com.sun.xml.bind</groupId>
                    <artifactId>jaxb-impl</artifactId>
                    <version>2.1.6</version>
                </dependency>
                <dependency>
                    <groupId>com.sun.xml.bind</groupId>
                    <artifactId>jaxb-xjc</artifactId>
                    <version>2.1.6</version>
                </dependency>
                <dependency>
                    <groupId>com.company.wae.base</groupId>
                    <artifactId>wae-jboss-lib</artifactId>
                    <version>9.8.0</version>
                </dependency>
            </dependencies>
        </plugin>
</plugins>

到目前为止我已经尝试过了,

-更新插件配置如下

 <configuration>
        <wsdlDirectory>src/main/wsdl</wsdlDirectory>
        <packageName>com.company.wae.client.ebif.eps.sopi.wsdl</packageName>
        <vmArgs>
            <vmArg>-Djavax.xml.accessExternalSchema=all</vmArg>
        </vmArgs>
    </configuration>

-将 jaxws-maven-plugin 的版本更改为 2.4.1 并添加以下 dep.到插件

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

-不仅要构建那个模块,还要构建整个项目。

-从本地 repo m2 中删除 jaxws-maven-plugin 和 jaxws-tools 文件夹。

-检查 JAVA_HOME 路径以查看是否指向 JDK1.8。检查项目 SDK (JDK 1.8)

主要提到的都是here

None 这些帮助。

我通过修复使用 mvn install -e 时的错误解决了这个问题。

  • 首先,我将 jaxb-impljaxb-xjc 版本从 2.1.6 升级到 2.2.10

  • 我在下面添加了 jaxb-corejaxws-tools 依赖项。

这是我更新的部分 pom.xml:

<plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxws-maven-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>wsimport</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <wsdlDirectory>src/main/wsdl</wsdlDirectory>
                    <packageName>com.company.wae.client.ebif.eps.sopi.wsdl</packageName>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>com.sun.xml.ws</groupId>
                        <artifactId>jaxws-rt</artifactId>
                        <version>2.2.10</version>
                    </dependency>
                    <dependency>
                        <groupId>com.sun.xml.bind</groupId>
                        <artifactId>jaxb-impl</artifactId>
                        <version>2.2.10</version>
                    </dependency>
                    <dependency>
                        <groupId>com.sun.xml.bind</groupId>
                        <artifactId>jaxb-xjc</artifactId>
                        <version>2.2.10</version>
                    </dependency>
                    <dependency>
                        <groupId>com.company.wae.base</groupId>
                        <artifactId>wae-jboss-lib</artifactId>
                        <version>9.8.0</version>
                    </dependency>
                    <dependency>
                        <groupId>com.sun.xml.bind</groupId>
                        <artifactId>jaxb-core</artifactId>
                        <version>2.3.0.1</version>
                    </dependency>
                    <dependency>
                        <groupId>com.sun.xml.ws</groupId>
                        <artifactId>jaxws-tools</artifactId>
                        <version>2.2.10</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>