Java webappがあり、classpthからファイルを読み込もうとしています。URIスキームは「ファイル」ではありません。クラスパスからファイルを読み取ることができません
if (fileName == null){
fileName = Thread.currentThread().getContextClassLoader().getResource("config.properties");
}
objFile = new File(fileName.toURI());
私のクラスパスにconfig.propertiesがあります。 WEB-INF/classes。私が地元で調べると、fileName.toURI()
、それは私にfile:/D:/dev/Tomcat_6_0/webapps/testApp/WEB-INF/classes/config.properties
を与えます。そしてうまく動作します。
問題は実稼働中のLinuxサーバーにあります。このパスはvfsfile:/export/home/u/bin/jboss-5.1.0.BE/server/default/deploy/testApp.war/WEB-INF/classes/config.properties
にあります。
そして、私は例外を受けています。
Caused by: java.lang.IllegalArgumentException: URI scheme is not "file"
at java.io.File.<init>(File.java:366)
at com.utils.ConfigLoader.loadConfigFilePath(ConfigLoader.java:87)
vfsのハンドリングの回避策は何ですか?
はい、それは私の戦いです。文字列vfsfile:/をfile:/ファイルコンストラクタに変更するとよいですか? –
いいえ、それはディスク上のファイルではなく、そうでない場合、 'File'はそれを表すことができません。 –