Java - 如何找出导入来自哪个Jar文件?

2022-09-03 05:32:48

我正在做的项目有大约10个jar文件作为库。在其中一个文件的顶部有一个导入语句,如下所示:

import jpe.nar.crat.maker.ObjectMakerFactory;

有没有办法知道它来自哪个Jar文件?

(如果这很重要,我正在使用Netbeans。


答案 1

你可以使用 CodeSource#getLocation() 来实现此目的。CodeSource 可通过 ProtectionDomain#getCodeSource() 获得反过来,ProtectionDomain 可以通过 Class#getProtectionDomain() 获得

URL location = ObjectMakerFactory.class.getProtectionDomain().getCodeSource().getLocation();
System.out.println(location.getPath());
// ...

答案 2

你有没有试过在课堂上做一个“开放声明”?在 Eclipse 中,当您执行此操作时,它会打开一个窗口,显示 jar 的名称,并告诉您此 jar 具有“无源附件”。我希望 NetBeans 也能发生类似的事情。

谢谢,R


推荐