- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试执行 GROBID在 64 位 Windows 上。
没有用于 Windows 的 x64 位版本的库(至少我找不到)。它在带有 64 位 JRE 的 64 位 Linux 和带有 32 位 JRE 的 32 位 Windows 上运行。所以JRE的版本不是问题。
我知道我需要包含 64 位 Windows - libcrfpp 文件。但是我找不到它。您能否告诉我在哪里可以找到它或帮助我执行它?
但是我得到如下错误-
尝试在 Windows 64 上使用 64 位 JVM 运行它时出错 -
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.grobid.core.main.GrobidParser.<clinit>(GrobidParser.java:22)
at org.pushpin.main.Main.main(Main.java:138)
Caused by: java.lang.RuntimeException: Unable to find a native CRF++ library: Folder <FOLDER>\GROBID_HOME\.\lib\win-64 does not exist
at org.grobid.core.main.LibraryLoader.load(LibraryLoader.java:21)
at org.grobid.core.impl.GrobidFactoryImpl.init(GrobidFactoryImpl.java:35)
at org.grobid.core.impl.GrobidFactoryImpl.newInstance(GrobidFactoryImpl.java:22)
at org.grobid.core.impl.GrobidFactoryImpl.instance(GrobidFactoryImpl.java:14)
at org.grobid.core.GrobidFactory.<clinit>(GrobidFactory.java:13)
... 2 more
更新尝试在 Windows 64 上使用 32 位 JVM 运行它时出错 -
Caused by: java.io.IOException: Cannot run program "<project path i have removed it>\lib/pdftoxml": CreateProcess error=193, %1 is not a valid Win32 application
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
at java.lang.Runtime.exec(Runtime.java:615)
at java.lang.Runtime.exec(Runtime.java:448)
at java.lang.Runtime.exec(Runtime.java:345)
at org.grobid.core.document.Document.pdf2xml(Document.java:217)
at org.grobid.core.engines.HeaderParser.processing(HeaderParser.java:86)
最佳答案
无法从 64 位 JVM 加载 32 位 native 库。
但是您可以在 64 位 Windows 上安装 32 位 JVM 并运行使用 32 位 native 库的 Java 应用程序。
更新:
这是应用程序启动器的摘录
private static String getLibraryFolder() {
String osPart = System.getProperty("os.name").replace(" ", "").toLowerCase().substring(0, 3);
String archPart = System.getProperty("sun.arch.data.model");
//todo: change to fetching the basic dir from GrobidProperties object
return String.format("%s/%s-%s", GrobidProperties.getInstance().getNativeLibraryPath().getAbsolutePath(),
osPart, archPart);
}
应用程序正在检查属性 sun.arch.data.model
获取 native 库文件夹。如果你在 64 位 Windows 中使用 32 位 JVM,你会得到
java.home=C:\Program Files (x86)\Java\jre7
os.arch=x86
os.name=Windows 7
sun.arch.data.model=32
因此,使用 32 位 JRE 执行应用程序将从 <FOLDER>\GROBID_HOME\.\lib\win-32
加载 native 库
更新:使用 32 位 JRE 时出现的错误与 JVM 体系结构无关。您应该安装和配置您的 pdf2xml
正确。
关于windows - 在 Windows 64 位上运行 Grobid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10533290/
我正在尝试在 Ubuntu 64 位中安装 Grobid。 引用自 https://grobid.readthedocs.io/en/latest/Install-Grobid/ $/GROBID_
我正在尝试执行 GROBID在 64 位 Windows 上。 没有用于 Windows 的 x64 位版本的库(至少我找不到)。它在带有 64 位 JRE 的 64 位 Linux 和带有 32 位
我正在尝试使用 Beautiful Soup 从使用 Grobid 生成的 .tei.xml 文件中提取元素。 我可以使用以下方式获取标题: titles = soup.findAll('title'
我是一名优秀的程序员,十分优秀!