java.net.malformedurlexception:プロトコルなし
質問
JavaでXJCを実行するためにクラスを書いています。私のコードは次のとおりです。
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")));
ただし、これを実行すると、次のエラーが発生します。
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)
誰かがこれを手伝ってくれませんか?
解決
追加してみてください "file://"
ファイルパスの先頭に。しかし、Bozhoが提案したように、ここでURLは必要ありません。
他のヒント
これは有効なURLではありません。準備することで有効にすることができます file://
プロトコルとして。
しかし、URLはまったく必要ありません。渡すことができます Reader
(と同様に InputStream
)に InputSource
コンストラクタ。したがって、例:
new InputSource(new FileReader(path))
仮想コンソールを開いている間、上記を持っていました。
解決策:ブラウザで非常に安全なオプションを選択しています。
start-> java configuration-> security - cilick on-非常に高い。
所属していません StackOverflow