2017-06-01 2 views
0

jarファイル内のJavaクラスから定数値を取得する必要があります。その..Javaを使用してjar内のクラスから定数変数を取得するには

Javaクラスを取得する方法:

package com.user; 
public final class Constants { 
private Constants(){} 
public static String NAME="name"; 
} 

このクラスを "test.jar" の下に存在しています。私は別のリポジトリからこの名前を使用する必要があります。私はこの瓶の依存関係を使いたくありません。私は直接使用する必要があります。

どうすれば入手できますか?

+0

? – n247s

+2

Jarファイルをプロジェクトのクラスパスに入れ、他のクラス 'Constants.NAME'と同じように参照してください – MadProgrammer

+0

休憩サービスにする – strash

答えて

1

実際、あなたがしたいことをすることは本当に悪い習慣です。なぜクラスを定義するのですか?それをクラスパスで参照したくないのですか?それから、クラスではないはずです。また、そのような定数がある場合は、99%の時間で列挙型になるはずです。あなたが本当にそれをやりたいのであれば、Classloaderを使って手動でクラスをロードする必要があります(これについては他のコメントを参照してください)。

しかし、私の推測は、いくつかの設定や何かをしたいですか?次に、あなたはpropablyプロパティを使用したいと思います。ここでは簡単な例です:

/* You should do real exceptionhandling here */ 
public static void main(String[] args) throws Exception { 

    final Properties config = new Properties(); 
    try (final FileReader reader = new FileReader("config.properties")) { 
     config.load(reader); 
    } 

    System.out.println(config.getProperty("NAME")); 
    System.out.println(config.getProperty("com.stackoverflow.version")); 
} 

私のファイル「config.propertes」コンテンツとちょうどplaintextfileです:

# This is a comment 
NAME=name 
key2=somevalue 
com.stackoverflow.version=9.87.6 

ます。また、プロパティがバックファイルにオブジェクトを書き込むことができます。あなたは多くのもののためにプロパティを使用することができます。詳細は、Properties Javadocを参照してください。

関連する問題