Jpostal Expander和Parser不在java.library.path Jni

问题描述

我正在尝试执行openvenues-jpostal软件包,但遇到了这个错误(经过大量工作来构建和编译libpostal中的所有内容!)。 我所做的是:

安装libpostal

build jpostal(./gradlew assemble)->这给了我jpostal.jar

将jpostal.jar复制到我的项目的lib中->这使我将com.mapzen.jpostal.AddressExpander导入到我的项目的类中

还从src / main / jniLibs中获得了.so文件。 我将jniLibs文件复制到了我的Project根目录中,如图所示。

Project Structure

当我尝试执行示例之一(解析器和扩展器)时,结果如下:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jpostal_expander in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at com.mapzen.jpostal.AddressExpander.<clinit>(AddressExpander.java:7)

AddressExpander.java类在下面给出 AddressExpander.java

我的java类在下面给出

import java.io.IOException;
import com.mapzen.jpostal.AddressParser;
import com.mapzen.jpostal.ParsedComponent;

public class MyAddressParser {
    public static void main(String[] args) throws IOException {
        System.setProperty("java.library.path","/jniLibs");

        AddressParser p = AddressParser.getInstance();
        ParsedComponent[] components = p.parseAddress(
                "The Book Club 100-106 Leonard St,Shoreditch,London,Greater London,EC2A 4RH,United Kingdom");
        for (ParsedComponent c : components) {
            System.out.printf("%s: %s\n",c.getLabel(),c.getValue());
        }
    }
}

任何帮助。我正在Windows上工作,但需要在Linux中进行部署

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...