Javaでクラスパスの取得方法

JavaではClassクラスのgetResource()メソッドを利用してクラスパスを取得することができます。このメソッドはURLオブジェクトを返却し、getPath()メソッドでクラスパスの文字列表現を取得することができます。

サンプルコードは以下のとおりです:

public class Main {
    public static void main(String[] args) {
        // 获取当前类的类路径
        String classPath = Main.class.getResource("").getPath();
        System.out.println("Class Path: " + classPath);

        // 获取当前类所在包的类路径
        String packagePath = Main.class.getPackage().getName().replace(".", "/");
        URL packageUrl = Main.class.getClassLoader().getResource(packagePath);
        String packagePathStr = packageUrl.getPath();
        System.out.println("Package Path: " + packagePathStr);
    }
}

ネイティブに日本語で言い換えると、

Class Path: /path/to/project/src/com/example/
Package Path: /path/to/project/src/com/example/

注意、ここで取得するのはクラスパスであって、クラスファイルの物理パスではありません。クラスファイルの物理パスを取得する場合は、FileクラスのgetAbsolutePath()メソッドを利用してください。

bannerAds