gpt4 book ai didi

java - 如何从类型为 ="con"的 Eclipse classpathentry 中读取所有 JAR

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:23:09 24 4
gpt4 key购买 nike

我有一个包含所有类路径条目的项目的 .classpath 文件。现在它有以下条目-

<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
</classpathentry>

现在,从这个条目中,我想以编程方式通过 java 代码找到与这个库关联的所有 jar 吗?有没有办法读取所有 jar ?

最佳答案

"con" is a container like JRE它与您的应用程序中的父类加载器有关。这个容器定义了自己的类路径,可以在运行时读取:

public static void main(String[] args) {
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
ClassLoader parentClassLoader = classLoader.getParent();
System.out.println("Project jars: ");
readJars(classLoader);
System.out.println("Container jars: ");
readJars(parentClassLoader);
}

private static void readJars(ClassLoader classLoader) {
URLClassLoader urlClassLoader = (URLClassLoader) classLoader;
URL[] urls = urlClassLoader.getURLs();
for(URL url: urls){
String filePath = url.getFile();
File file = new File(filePath);
if(file.exists() && file.isFile()) {
//Apply additional filtering if needed
System.out.println(file);
}
}
}

关于java - 如何从类型为 ="con"的 Eclipse classpathentry 中读取所有 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41263539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com