从里面的Class中找到一个jar的路径?

Ing*_*ngo 1 java eclipse eclipse-plugin classpath

插件xyz应该在Java项目之上运行并生成一些Java代码.这段代码需要在构建和运行时插件的jar中提供的类.因此,插件的jar(或安装目录)应该出现在构建类路径中.

一个插件如何找到它自己的jar /安装目录的确切路径,或者就此而言,以便携方式找到一些相关插件jar的路径?

背景是我想制作一个用户可以运行的向导来启用项目的xyz特性.应为用户提供有意义的默认值,以便在何处查找所需的运行时功能,并将给定的库添加到构建路径中.

Old*_*eon 6

我们用它来查找类的位置:

public static URL getLocation(final Class cls) {
  final ProtectionDomain pd = cls.getProtectionDomain();
  final CodeSource cs = pd.getCodeSource();
  return cs.getLocation();
}
Run Code Online (Sandbox Code Playgroud)

不知道它来自哪里.