我正在尝试在Cygwin(具有最新Java安装的Windows 7)上使用tbdloader。这是tbdloader文档:http://jenawiki.hpl.hp.com/wiki/TDB/Commands

这是我用来在计算机上调用tdbloader的包装器脚本:

#!/bin/bash
# Cygwin script to import large NT files in TDB.

CD /cygdrive/c/mypath/TDB-0.8.10
echo "TDB found. Setting path"
export TDBROOT=/cygdrive/c/mypath/TDB-0.8.10
export PATH=$PATH:$TDBROOT/bin

CD /cygdrive/c/mypath/ontodata/
echo "Running import..."
tdbloader --loc ./tdb ./datasets/large_file.nt

这是我得到的错误:
java.lang.NoClassDefFoundError: tdb/tdbloader
Caused by: java.lang.ClassNotFoundException: tdb.tdbloader
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: tdb.tdbloader.  Program will exit.
Exception in thread "main"

tdbloader在Mac和Linux上运行良好。

有任何想法吗?

木兰

最佳答案

正如我在另一个答案中已经提到的那样,问题分别是Linux和Windows中的:;类路径分隔符。有关详细信息,请参见this FAQ,这建议您将脚本修改为包括cygpath

关于windows - Cygwin上的tdbloader : java. lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6089278/

10-13 01:13