如果有一种明确的,推荐的,健壮的方式来处理Java和Maven中的本机库,我正在努力解决这个问题。
我知道可以通过将库放在正确的位置,配置java.library.path
和调用System.loadLibrary
等来实现这一点 - 但我想要一个适用于整个开发/部署生活的适当解决方案 - 循环,并没有涉及很多黑客。
我的要求似乎相当简单:
.jar
,不要求用户使用命令行选项来运行它(即它将解包并加载运行时所需的任何本机依赖项,最好是临时文件或类似的东西)基本上,我希望本地人在开发过程中只是工作,并且在运行时为用户提供。
这可能吗?如果是这样,我需要配置什么来实现它?
答案 0 :(得分:2)
当然有可能。我遇到的一个解决相同问题的好例子是https://bitbucket.org/xerial/sqlite-jdbc/overview
的sqlite包装器通过遵循每个体系结构的预定义包装结构,我们可以以编程方式将所需的本机库从类路径提取到临时文件夹中,并可以设置所需的java.library.path以加载本机库。
我没有亲自尝试执行上述流程,但却没有想到任何其他方式。