Ich habe eine wsimport Aufgabe in meinem gradle Build arbeiten gut, bis Java 7:Wie Gradle Wsimport Aufgabe JDK 8 Zugriffsbeschränkungen zu übertreffen?
task wsimport {
ext.destDir = file("${buildDir}/generated/java")
ext.wsdlSrc = file("src/main/resources/schema/example/my.wsdl")
ext.bindingSrc = file("src/main/resources/schema/example/bindings.xsd")
outputs.dir destDir
doLast {
ant {
destDir.mkdirs()
taskdef(name: 'wsimport',
classname: 'com.sun.tools.ws.ant.WsImport',
classpath: configurations.jaxws.asPath)
wsimport(keep: true,
package: 'net.example.my',
xnocompile: true,
quiet: true,
sourcedestdir: destDir,
wsdl: wsdlSrc,
binding: bindingSrc,
encoding: "UTF-8"
)
}
}
}
Wenn auf JDK 8 Schalten (1.8.0-B129 bauen) ich die folgende Fehlermeldung erhalten:
java.lang.AssertionError: org.xml.sax.SAXParseException; systemId: ... schema_reference:
Failed to read schema document 'xjc.xsd', because 'file' access is not allowed due to restriction set by the accessExternalSchema property.
Auf der Suche nach dem Problem habe ich den folgenden Beitrag gefunden (der das Problem überraschenderweise auch mit Java 7 beschreibt): https://github.com/stianh/gradle-jaxb-plugin/issues/20 Aber ich kann die Umgebung/das Argument nicht an wsimport/xjc übergeben.
Wie kann dieser Zugriff oder die Einschränkung deaktiviert werden?
Eine langfristige Sorge sehe ich mit Ihrer Aufgabe, wie Sie mehrere Versionen von WSDL oder sagen wir, wenn Sie mehrere xsds haben. Datei erlaubt keine Wildcard zu verwenden –
Arne, Vielen Dank für das Teilen, es hat funktioniert !! sehr hilfreich –