小编Pre*_*rem的帖子

apache cxf wsdl2java 无法生成类型->访问被拒绝

自 2013 年以来,我一直在努力解决这个问题……我使用的是 Windows 7。

[错误] 无法在项目 service-data-model-provider 上执行目标 org.apache.cxf:cxf-codegen-plugin:3.1.2:wsdl2java (generate-sources):执行目标 org.apache.cxf 的生成源:cxf-codegen-plugin:3.1.2:wsdl2java failed: 无法生成类型。a:\Misc\WsMock\service-data-model-provider\src\main\java\schema\eo\common\system\messageheader\v1\MessageContextType.java(访问被拒绝)-> [帮助 1]

它完全随机,并且在所有 cxf 版本和不同的 java 版本上都会发生。目前我在 jdk 1.8.45 和 cxf 3.1.2

该问题可以通过设置始终解决

但是构建总是成功的,即使会发生一些错误,在日志中显示为 [警告] .. 所以我不能使用类似的东西。

这是我的配置文件

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>${cxf.version}</version>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
                <sourceRoot>${basedir}/src/main/java</sourceRoot>
                <defaultOptions>
                    <extraargs>
                        <extraarg>-validate</extraarg>
                        <extraarg>-exsh</extraarg>
                        <extraarg>true</extraarg>
                    </extraargs>
                </defaultOptions>
                <wsdlRoot>..\..\..</wsdlRoot>
                <includes>
                    <include>mds/apps/services/**/*.wsdl</include>
                </includes>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

另一件有帮助但不能完全解决问题的方法是禁用 WindowsHardDrive 驱动程序中的 WriteToCache 设置。

这表明系统太慢,CXF\Java 试图在文件完全写入磁盘之前使用它。使用 SSD 问题只是偶尔发生。

我们的数据模型是巨大的(很多 XSD)并且硬盘是加密的,所以这就是为什么一切都那么慢的原因。

任何想法如何调整java来处理这个问题?或者可能是 CXF 问题?

全栈跟踪

[错误] 无法在项目 service-data-model-provider 上执行目标 …

java cxf wsdl2java

6
推荐指数
1
解决办法
6743
查看次数

标签 统计

cxf ×1

java ×1

wsdl2java ×1