Не удалось прочитать внешний DTD 'XMLSchema.dtd' - Apache cxf & Spring boot - PullRequest
0 голосов
/ 21 марта 2019

Я использую Apache-cxf cxf-codegen-plugin для генерации wsdl2java.До сих пор он работал правильно, но когда я обновил apache-cxf (3.3.1) и загрузочную пружину (2.1.3.RELEASE) до последней версии, Maven начал выдавать мне сообщение об ошибке Maven:

Выполнение источника генерации цели org.apache.cxf: cxf-codegen-plugin: 3.3.1: сбой wsdl2java: org.apache.ws.commons.schema.XmlSchemaException: внешнее DTD: не удалось прочитать внешнее DTD 'XMLSchema.dtd ', потому что доступ' http 'не разрешен из-за ограничений, установленных свойством accessExternalDTD.(org.apache.cxf: cxf-codegen-plugin: 3.3.1: wsdl2java: generate-sources: generate-sources)

Я понял, что может потребоваться дополнительная настройка для VM идобавлены следующие теги:

<fork>always</fork>
<additionalJvmArgs>-Djavax.xml.accessExternalSchema=all</additionalJvmArgs>

, но появилась новая ошибка:

Командная строка была: / usr / lib / jvm / java-8-oracle / jre / bin / java-Djavax.xml.accessExternalSchema = all -jar /tmp/cxf-tmp-4500902427872984708/cxf-codegen118328547383604063.jar -encoding UTF-8 -d / home / tsvetoslav / sts-workspace / smdl1 / target-генерируется / smdp1 / target генерируется / smdp1 / целевойverbose -wsdlLocation classpath: wsdl / ES3_SMSR.wsdl file: /home/tsvetoslav/sts-workspace/smdp1/src/main/resources/wsdl/ES3_SMSR.wsdl

Наконец, вот мой плагин

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>${cxf.version}</version>
    <configuration>
        <fork>always</fork>
        <additionalJvmArgs>-Djavax.xml.accessExternalSchema=all</additionalJvmArgs>
    </configuration>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
                <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
                <wsdlOptions>
                    <wsdlOption>
                    <wsdl>${project.basedir}/src/main/resources/wsdl/ES3.wsdl</wsdl>
                    <wsdlLocation>classpath:wsdl/ES3.wsdl</wsdlLocation>
                        <extraargs>
                            <extraarg>-impl</extraarg>
                            <extraarg>-verbose</extraarg>
                        </extraargs>
                    </wsdlOption>
                </wsdlOptions>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Есть предложения, как мне решить проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...