8

私は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)

誰かがこれを手伝ってもらえますか?

4

3 に答える 3

18

"file://"ファイルパスの先頭に追加してみてください。しかし、Bozhoが提案したように、ここにURLは必要ありません。

于 2010-12-29T18:39:17.580 に答える
11

これは有効なURLではありません。file://プロトコルとして先頭に追加することで有効にできます。

ただし、URLはまったく必要ありません。コンストラクターにReader(およびInputStream)を渡すことができます。InputSourceしたがって、たとえば:

new InputSource(new FileReader(path))
于 2010-12-29T18:39:01.643 に答える
-4

仮想コンソールを開いている間、私は上記を持っていました。

解決策:ブラウザで非常に安全なオプションを選択しました。

スタート->Java設定->セキュリティ-クリックオン-非常に高い。

于 2017-02-02T17:34:02.707 に答える