如何将jar中的文件添加到类路径中?

时间:2017-10-24 18:32:21

标签: java jar

我有一个jar作为gradle依赖项被拉入其他项目。它有一个XML文件(对于HBase),它需要位于类路径的开头,因此在加载HBase驱动程序时它会被拾取。

因为它在jar文件中,我如何将其路径传递给URLClassLoader?

我知道我可以通过执行以下操作添加到类路径中:

private static void addSoftwareLibrary(File file) throws Exception {
    Method method = URLClassLoader.class.getDeclaredMethod("addURL", new Class[]{URL.class});
    method.setAccessible(true);
    method.invoke(ClassLoader.getSystemClassLoader(), new Object[]{file.toURI().toURL()});
}

但是,我将如何:

  1. 将文件在jar中的位置传递给它?
  2. Prepend而不是将其附加到路径?

1 个答案:

答案 0 :(得分:0)

  1. 您可以在构建时执行此操作。把它装在Jar里面

  2. 您可以创建要启动的包装器脚本。它需要一些参数作为输入,并在启动Java

  3. 之前操作类路径条目