不在java.library.path jni中的jpostal扩展器和解析器

zpgglvta  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(298)

我正试图执行OpenVincesJPostal包,但我遇到了这个错误(在从libpostal构建和编译了大量工作之后!!)。我所做的是:
安装libpostal
build jpostal(./gradlew assemble)->这给了我jpostal.jar
将jpostal.jar复制到我的项目中的lib->这允许我将com.mapzen.jpostal.addressexpander导入到我的项目的类中
还从src/main/jnilibs获得了.so文件。我将jnilibs文件复制到我的项目根目录中,如图所示。

当我尝试执行其中一个示例(解析器和扩展器)时,结果是:

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上部署

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题