Sto cercando di cambiare schemaLocation
nel mio file xjb
da utilizzare non un file remoto utilizzando l'URL, ma di utilizzare una copia in locale che è anche sotto il controllo di versione..xsd non fa parte di questa compilation. È questo un errore per .xjb
Così, per esempio il mio file xjb
ha qualcosa di simile a
<?xml version="1.0" encoding="UTF-8"?>
<jxb:bindings
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsd:ID="JaxbBindingsForWMiddleware"
version="2.0">
<jxb:bindings node="/xsd:schema"
schemaLocation="http://myserver:80/a/b/c/d/myxsd.xsd">
Quando cambio questo per copia locale ad esempio
schemaLocation="../../src/main/resources/myxsd.xsd">
mvn clean install
fallirà con un messaggio simile a
[WARNING] Causato da: com.sun.istack.SAXParseException2; systemId: file:/E: /somefolder/somefolder/myjavaproject/target/bindings/myxjb.xjb; numero riga: 33; columnNumber: 33; "file:/E: /somefolder/somefolder/myjavaproject/target/bindings/mywsdl.wsdl" non fa parte di questa compilation. È un errore per il file ":/E: /somefolder/somefolder/myjavaproject/target/bindings/myxjb.xjb"?
Ho notato che sta cercando il mio file wsdl nella directory target
. Posso manipolare lo schemaLocation
in modo che punti alla directory src
. Il percorso quindi esiste ma il messaggio rimane.
posso anche mettere il WSDL nella directory di destinazione, dove java cerca di trovare, ma anche in questo caso, il messaggio rimane lo stesso.
così sembra che le esigenze specifiche che accada qualcosa per renderlo parte di questa compilation. Cosa dovrebbe essere fatto per compilare questo nel modo corretto? successo