0
すべてのjarファイルには、ビルドの特定の情報を含む特定のファイルversion.properties
が含まれています。同一のjarファイルにアクセスする
(クラスパス上のいくつかのjarを使用して)コマンドラインからjarを起動すると、version.properties
にはと同じ jarにアクセスします。より正確には、呼び出し元のクラスファイルが存在するjarにプロパティファイルの内容を与えるJavaコードを記述します。
問題は、クラスパス上のすべてのJARファイルにversion.properties
が含まれていることです。クラスパス上の最初の読み込みはしませんが、正しいjarファイルからの読み込みは不要です。どうすればそれを達成できますか?
のJava用途有していないので、私は、一緒にMETA-INFの例とアクセスMANIFEST.MFとしてString.classを用いた例をハッキング正当な理由のためにパッケージ。なぜ適切なパッケージにversion.propertiesを設定しないのですか? –
version.propertiesは各jarのメインディレクトリにあります。これは変更できません(会社標準) –
クラスローダーを使用することはできません。代わりに、クラスが存在するjarを見つけるために汚れたトリックを使用し、そのjarへのjar入力ストリームを開き、version.propertiesエントリを探してからこのエントリを読んでください。あるいは、会社標準を変更して、それを使用可能な標準にすることもできます。 –