如何在Maven中自动加载Native依赖项?

时间:2012-01-31 10:18:27

标签: maven

我需要在maven java项目中加载的'so'文件很少,而不必使用System.loadLibrary()方法。

我已将s文件复制到src / main / resources /文件夹中。我是否必须在pom.xml中提及它们?

我该怎么做?

我现在收到此错误。

线程“main”中的异常java.lang.UnsatisfiedLinkError:tcl.lang.Interp.commandComplete(Ljava / lang / String;)Z

2 个答案:

答案 0 :(得分:0)

加载是什么意思? Maven是一个构建系统。它会将文件放在jar中src/main/resources/。但它不会在运行时影响您的代码。因此,您的代码可以在运行时加载库。

答案 1 :(得分:0)

听起来你在loadLibrary中的路径是错误的。你知道src / main / resources中的那些文件将被maven复制到target / classes文件夹中,并且可以通过getClass()获得.getResourcesAsStream()...这可能有助于使用loadLibrary()......

ClassLoader cl = getClass().getClassLoader();
url = cl.getResource(name);
if(url != null) {
  file = new File( url.getFile() );
}