在Windows 64位上运行Grobid

我正试图在64位Windows上执行GROBID 。

没有用于Windows的库的x64位版本(至less我找不到)。 它运行在具有64位JRE的64位Linux上,以及具有32位JRE的32位Windows上。 所以JRE的版本不是问题。

我知道我需要包含64位Windows – libcrfpp文件。 但是我找不到它。 你可以让我知道我在哪里可以find它或帮我执行它?

不过,我得到一个错误如下 –

尝试在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运行时出现UPDATE错误 –

 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位本机库是不可能的。

  • 在64位机器上使用一个32位的DLL

但是,您可以在64位Windows上安装32位JVM,并运行使用32位本机库的Java应用程序。

  • 是否有可能在Windows 7上安装32位和64位Java?
  • 如何在64位机器上运行32位的API?

更新:

这是应用程序启动器的摘录

 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以获取本机库文件夹。 如果在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加载本机库

更新:使用32位JRE时遇到的错误与JVM体系结构无关。 您应该正确安装并配置您的pdf2xml

我在这里写信只是告诉你,我们已经集成了Windows 64位Wapiti的移植版本。

如果你仍然有兴趣尝试,你可以从master下载/更新Grobid开发版本。

已经解决了pdf2xml的问题以及用Windows进行测试时出现的其他小错误。 批量和服务模式都工作得很好。 在本地运行的不同Windows版本上进行更密集的测试是非常好的。

您可以跟进进度,并报告相关问题的最终问题或错误。

干杯卢卡