【发布时间】:2017-01-23 10:55:52
【问题描述】:
我试图找出使用类名的 jar 名称。假设我的类名称为“Socket”或“LinkedList”为字符串。所以我想知道如何找出它属于哪个罐子。 我正在尝试通过这种方式找出答案
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;
}
在这个方法中如果我通过了
Class class1 = String.class;
System.out.println(getModuleName(class1));
它给出了 Jar 名称,但它给出了 jar 名称,但出于某些要求,我没有像 "String.class" 但只有字符串 "String" 。 从这个字符串中如何找出它属于哪个罐子。
谢谢
【问题讨论】:
-
也许是 Class.forName("java.lang.String") ?所以你得到了 Class 实例,然后可以使用它来获取 jar 名称
-
我使用了相同的过程,但它在“String.class”的帮助下给出了结果,但我想要来自字符串?
标签: java class jar build classpath