クラス名を使用するためのjar名を調べようとしています。私は文字列として "ソケット"または "LinkedList"としてクラス名を持っていると仮定します。だから私はそれがどのジャーであるかを知る方法を知りたい。 私はそれがジャー名を与えているクラス名を使用してJar名を検索
Class class1 = String.class;
System.out.println(getModuleName(class1));
を渡していた場合、私はこの方法では、このよう
public static String getModuleName(Class classname) {
String modulename = null;
URL resource = classname.getResource('/' + classname.getName().replace('.', '/') + ".class");
System.out.println(resource.getPath());
String[] split = resource.getFile().split("/");
for (String string : split) {
if (string.contains("jar")) {
modulename = string.replace("!", "");
}
}
return modulename;
}
で見つけるしようとしていますが、それはjarファイル名を与えているが、いくつかの要件のために、私が持っていません"String.class"のようになりますが、文字列 "String"のみです。 この文字列から、どの瓶がどの瓶に属しているかを調べます。あなたは何ができるか
おかげ
多分にClass.forName( "java.lang.Stringで")?だから、クラスのインスタンスを取得し、それを使用してjarの名前を取得することができます – Sergi
私は同じプロセスを使用しましたが、 "String.class"の助けを借りて結果を与えていますが、 –