tdbloader2 因类路径错误而失败
tdbloader2 fails with classpath error
当我运行以下命令时:
bin/tdbloader2 --loc=/store/data/here /seed/data/serverfault-dump.nt
我得到的回复是:
10:52:31 -- TDB Bulk Loader Start
10:52:31 Data phase
Error: Could not find or load main class com.hp.hpl.jena.tdb.store.bulkloader2.CmdNodeTableBuilder
这很可能是我的某个地方的环境变量有问题导致的。问题是,我不经常使用 Java,所以我不知道如何找出 class 找不到的东西。
如何让 tdbloader2 找到合适的class?
您至少需要将 TDBROOT
环境变量设置为包含您的 TDB 下载的目录。这将是 bin
上方的目录,因为一些脚本使用 ${TDBROOT}/bin/foo
启动其他脚本
该脚本会尝试通过调用 tdb_path
脚本来自动构建有效的 class 路径,该脚本会根据您的环境调用 make_classpath_mvn
或 make_classpath
。如果您直接 运行 tdb_path
脚本,您可以查看它是否生成了看起来正常的 class 路径(或者如果输出没有提供任何内容,则将它生成的内容添加到您的问题中有帮助)。
我忘记设置 JENAROOT 路径变量。
https://jena.apache.org/documentation/tools/
An environment variable JENAROOT is used by all the command line tools to
configure the class path automatically for you. You can set this up as follows:
On Linux / Mac
export JENAROOT=the directory you downloaded Jena to export
PATH=$PATH:$JENAROOT/bin On Windows
SET JENAROOT=the directory you downloaded Jena to SET
PATH=%PATH%;%JENAROOT%\bat
当我运行以下命令时:
bin/tdbloader2 --loc=/store/data/here /seed/data/serverfault-dump.nt
我得到的回复是:
10:52:31 -- TDB Bulk Loader Start
10:52:31 Data phase
Error: Could not find or load main class com.hp.hpl.jena.tdb.store.bulkloader2.CmdNodeTableBuilder
这很可能是我的某个地方的环境变量有问题导致的。问题是,我不经常使用 Java,所以我不知道如何找出 class 找不到的东西。
如何让 tdbloader2 找到合适的class?
您至少需要将 TDBROOT
环境变量设置为包含您的 TDB 下载的目录。这将是 bin
上方的目录,因为一些脚本使用 ${TDBROOT}/bin/foo
启动其他脚本
该脚本会尝试通过调用 tdb_path
脚本来自动构建有效的 class 路径,该脚本会根据您的环境调用 make_classpath_mvn
或 make_classpath
。如果您直接 运行 tdb_path
脚本,您可以查看它是否生成了看起来正常的 class 路径(或者如果输出没有提供任何内容,则将它生成的内容添加到您的问题中有帮助)。
我忘记设置 JENAROOT 路径变量。
https://jena.apache.org/documentation/tools/
An environment variable JENAROOT is used by all the command line tools to configure the class path automatically for you. You can set this up as follows:
On Linux / Mac
export JENAROOT=the directory you downloaded Jena to export PATH=$PATH:$JENAROOT/bin On Windows
SET JENAROOT=the directory you downloaded Jena to SET PATH=%PATH%;%JENAROOT%\bat