2

64 ビット Windows でGROBIDを実行しようとしています。

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)
4

2 に答える 2

2

64 ビット JVM から 32 ビット ネイティブ ライブラリをロードすることはできません。

ただし、64 ビット Windows に 32 ビット JVM をインストールして、32 ビット ネイティブ ライブラリを使用する 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して、ネイティブ ライブラリ フォルダーを取得しています。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を正しくインストールして構成する必要があります。

于 2012-05-28T11:31:43.050 に答える
1

Windows 64 ビット用の移植バージョンの Wapiti を統合したことをお知らせするために、ここに書いています。

それでも試してみたい場合は、masterから Grobid 開発バージョンをダウンロード/更新できます。

pdf2xml に関する問題は、Windows でのテスト時に発生したその他のマイナーなバグと同様に解決されています。バッチ モードとサービス モードはどちらも問題なく動作しています。ネイティブで実行されているさまざまな Windows バージョンでより集中的なテストを実施できれば素晴らしいことです。

進行状況をフォローアップし、関連する問題で最終的な問題やバグを報告できます。

于 2016-09-23T10:09:22.020 に答える