简体   繁体   中英

java.net.MalformedURLException: no protocol

I' m writing a class to run xjc in java. my code goes as follows:

 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")));

however I get the following error when I run this:

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)

Can anyone help with this please?

Try append "file://" to the beginning of your file path. But as Bozho proposed, you don't need an URL here.

This is not a valid URL. It can be made valid by prepending file:// as protocol.

But you don't need a URL at all. You can pass a Reader (as well as an InputStream ) to the InputSource constructor. So for example:

new InputSource(new FileReader(path))

I had the above ,while opening the virtual console.

Resolution : You have select very secure option in Browser.

Start--> Java configuration -->Security --Cilick on - Very High.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM