获得;不支持:http://javax.xml.XMLConstants/property/accessExternalDTD 例外情况;在gradle中将apche cxf捆绑包作为依赖项添加时

获得;不支持:http://javax.xml.XMLConstants/property/accessExternalDTD 例外情况;在gradle中将apche cxf捆绑包作为依赖项添加时,java,build.gradle,wsdl2java,Java,Build.gradle,Wsdl2java,正在尝试在我的应用程序中添加apache cxf捆绑包。但是在运行应用程序时出现以下错误 未能实例化 [org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping]:工厂方法“PayloadRootAnnotationMethodEndpointMapping”引发异常;嵌套异常为java.lang.ExceptionInInitializeError 这是由于 原因:java

正在尝试在我的应用程序中添加apache cxf捆绑包。但是在运行应用程序时出现以下错误 未能实例化 [org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping]:工厂方法“PayloadRootAnnotationMethodEndpointMapping”引发异常;嵌套异常为java.lang.ExceptionInInitializeError

这是由于 原因:java.lang.IllegalArgumentException:不支持:

试图在任务中添加以下属性

wsdl2java {
 System.setProperty('javax.xml.accessExternalSchema', 'all')
 System.setProperty('javax.xml.accessExternalDTD','all')
 generatedWsdlDir = file("src/main/generated-sources/")  // target directory for generated source code
 wsdlsToGenerate = [   //  2d-array of wsdls and cxf-parameters
                      ['src/main/resources/xsd/wsdl/***.wsdl'],
]
}

获取以下错误

Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping]: Factory method 'payloadRootAnnotationMethodEndpointMapping' threw exception; nested exception is java.lang.ExceptionInInitializerError

Caused by: java.lang.IllegalArgumentException: Not supported: http://javax.xml.XMLConstants/property/accessExternalDTD
    at org.apache.xalan.processor.TransformerFactoryImpl.setAttribute(TransformerFactoryImpl.java:576) ~[xalan-2.7.1.jar:?]

在检查依赖关系树时,看到多个版本的Xalan。这会导致依赖关系冲突。通过添加以下行来解决此错误

 compile (group: 'org.apache.cxf', name: 'cxf-bundle', version: '2.4.2')  {    
 exclude module: 'xalan'
}
 compile (group: 'org.apache.cxf', name: 'cxf-bundle', version: '2.4.2')  {    
 exclude module: 'xalan'
}