2012-01-03 22 views
1

META-INFに.xmlファイルをロードする必要があります。アプリケーションがサンドボックス化されていないときに機能しますが、Java Web Startでは(より制限された)別のクラスローダーがmyproj.jar/META-INF/myfile.xmlにあるファイルはロードされません。しかし、ロードクラスのカレントディレクトリにファイルを置くと動作します(私はcom/blabla/myproj/whatever/META-INF/myfile.xmlの下に置きます)。Java Web Startアプリケーションのクラスパス

.jnlpファイル内でクラスパス設定が見つかりませんでしたが、これはマニフェストで行うことができますか?彼らの仕組みが分からないので、それが解決策であれば、例を挙げてください。そのコードは、それがJARにパッケージだという事実に依存しないでなければなりませんので、META-INF

答えて

2

スタッフはは、あなたのjarファイル内のコードが読み取り可能ではありません。代わりに、のメタ情報(メタ情報)であるため、がロードするのアプリケーションのみがJarファイルにアクセスする必要があります。

+0

ああ、ありがとう! Eclipseで.xmlファイルをどこに置くべきか、どこで.jarになるのか知っていますか?そして私はどのようにそれらを読み込むのですか? –

+0

@ Jonas:あなたのJavaファイルと同じフォルダに置くだけで、EclipseはおそらくJarにそれらをコピーします(そしてそれらはクラスパス上にあります)。 Jarでは、クラスファイル( '/ com/yourcompany/package/yourfile.xml')のようにパッケージ化されます。パッケージ構造の正しい場所に貼り付けてください。別の一般的な組織では、パッケージ構造と平行した別個の "resources"フォルダを用意していますが、リソースをJarファイルにコピーするようにEclipseを設定する必要があります。私はEclipseを使っていたので、しばらくしていたので、どうやってどうやって調べるのか悩む必要がありました。 –

関連する問題