0

JAR ファイルに埋め込んだリソースにアクセスしようとしています。ファイルにアクセスする必要があるクラスは次のとおりです。

/worldEntities/factories/RoomFactory.class

そして、次の場所にアクセスしようとします:

/map-data/roomDescriptions.xml

これを行うために、次のコードを RoomFactory.class に追加しました。

Document doc = docBuilder.parse(this.getClass().getResourceAsStream("/map-data" + File.separator + "roomDescriptions.xml"));

NetBeans でプロジェクトを実行すると、エラーなく正常に動作します。ただし、コマンド ラインからコードを実行しようとすると、次のように入力します。

java -jar Program.jar

java.lang.IllegalArgumentException: InputStream cannot be null が発生し、上記のコードを指しています。

助けてくれてありがとう、

トーマス

4

2 に答える 2

0
  1. char を含む名前"-"は有効な Java パッケージ名ではありません。So"map-data"は有効なパッケージ名ではありません。

  2. その後File.separator、異なるプラットフォームでは異なる可能性があります。コードで を使用"/"して、有効なパッケージ セパレータを確実に使用してください。

于 2012-04-14T13:36:33.473 に答える
0

リソースを .jar にバンドルしていることを確認する必要があります。そうしないと、リソースが見つかりません。

この投稿は、NetBeans からそれを行う方法について役立つはずです

于 2012-04-14T12:59:14.777 に答える