net - xsd to java jaxb
java.net.MalformedURLException: sin protocolo (3)
Estoy escribiendo una clase para ejecutar xjc en java. mi código es el siguiente:
URL url = new URL("C://Users//Simran//Desktop//books.xsd");
SchemaCompiler sc = XJC.createSchemaCompiler();
sc.parseSchema(new InputSource(url.toExternalForm()));
S2JJAXBModel model = sc.bind();
JCodeModel cm = model.generateCode(null, null);
cm.build(new FileCodeWriter(new File("C://Users//Simran//Desktop//books.xsd")));
sin embargo, recibo el siguiente error cuando ejecuto esto:
Exception in thread "main" java.net.MalformedURLException: no protocol: books.xsd
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at jaxbTest.Test1.main(Test1.java:22)
¿Alguien puede ayudarme con esto por favor?
Esta no es una URL válida. Se puede hacer válido anteponiendo file://
como protocolo.
Pero no necesitas una URL en absoluto. Puede pasar un Reader
(así como un InputStream
) al constructor de InputSource
. Así por ejemplo:
new InputSource(new FileReader(path))
Pruebe agregar "file://"
al comienzo de su ruta de archivo. Pero como propuso Bozho, no necesitas una URL aquí.
Tuve todo lo anterior, al abrir la consola virtual.
Resolución: tiene la opción de seleccionar muy segura en el navegador.
Inicio -> Configuración de Java -> Seguridad - Copia de seguridad - Muy alto.