我正在研究从Eclipse项目中提取Eclipse构建类路径信息的方法。虽然我很确定这可以通过编写一个自定义无头Eclipse应用程序来实现,该应用程序加载Java项目并调用一个方法来解析类路径(参见this SO问题),我试图尽可能避免这种情况。如果这是最好的/唯一的方式,我不反对这个,但在我这样做之前,我想检查是否有人已经解决了这个问题。
我需要的只是项目类路径中包含的jar文件列表。大多数此信息可以从.classpath文件本身收集。但是,我遇到的困难在于所谓的“类路径容器”,它以一种明显未记录的格式存储在eclipse内部。我已经看了一些现有的工具来解决这个问题,特别是ant4eclipse,但最后我检查了它可以解决的唯一的类路径容器类型是JRE和用户库,这两个我已经想出了如何解决而无需调用蚀。
有什么建议吗?
答案 0 :(得分:1)
如果您想要正确而准确的结果,您希望JDT为您解决这些问题。所以是的,你需要编写一个无头的Eclipse应用程序。
答案 1 :(得分:0)
我不知道是否有任何特定于eclipse的方法,但在标准的java应用程序中,您可以使用java.class.path
系统属性来获取类路径条目。
System.getProperty("java.class.path")
路径由OS特定的分隔符分隔。类路径通常包含编译器输出目录(例如bin
或target/classes
)以及已添加到类路径的任何jar。你可以得到这样的所有罐子:
for (String classPathEntry : System.getProperty("java.class.path").split(File.pathSeparator)) {
if (classPathEntry.endsWith(".jar")) {
// ...
}
}
JRE库还有一个sun.boot.class.path
系统属性。