パッケージが与えられた場合、その中のすべてのクラスを見つけることは可能ですか?
たとえば、どのクラスが に含まれているかを調べるにはどうすればよいでしょうjava.lang
か。
ありがとう
パッケージが与えられた場合、その中のすべてのクラスを見つけることは可能ですか?
たとえば、どのクラスが に含まれているかを調べるにはどうすればよいでしょうjava.lang
か。
ありがとう
これで始められるはずです(コンソール出力を見てください。意味があります):
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/) に配置すれば、動作します)。