0

パッケージが与えられた場合、その中のすべてのクラスを見つけることは可能ですか?

たとえば、どのクラスが に含まれているかを調べるにはどうすればよいでしょうjava.langか。

ありがとう

4

1 に答える 1

0

これで始められるはずです(コンソール出力を見てください。意味があります):

import com.google.common.collect.Multimap;
import org.reflections.Reflections;

import java.util.Map;

public class PackageWalker {
    public PackageWalker() {}

    public void walk() {
        Reflections reflections = new Reflections("org.reflections");
        for (String mmapName : reflections.getStore().getStoreMap().keySet()) {
            System.out.println("KEY["+mmapName+"]");
            Multimap<String,String> mmap = reflections.getStore().getStoreMap().get(mmapName);
            for (Map.Entry<String,String> entry: mmap.entries()) {
                System.out.println("  PAIR[ "+entry.getKey()+"="+entry.getValue()+" ]");
            }
        }
    }

    public static void main(String[] args) {
        new PackageWalker().walk();
    }
}

次の jar とその依存関係が必要です (Ivy 形式を使用):

    <dependency org="org.reflections" name="reflections" rev="0.9.8"/>

ここに私のプロジェクト フォルダがあります: http://www.filedropper.com/laboratorytar

Ivy が ant と共にインストールされていることを確認する必要があります (基本的に ivy.jar を ANT_HOME/lib (または *nix では ~/.ant/lib/) に配置すれば、動作します)。

于 2013-02-12T20:49:52.560 に答える