2011-05-22 54 views
2

我想在Cygwin上使用tbdloader(Windows 7與最新的Java安裝)。這是tbdloader文檔:http://jenawiki.hpl.hp.com/wiki/TDB/CommandsCygwin上的tdbloader:java.lang.NoClassDefFoundError

這是我用打電話給我的機器上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上運行良好。

任何想法?

Mulone

+1

tdbloader在你的腳本之外工作嗎?嘗試在exec java行之前添加'echo $ TDB_CP',以檢查類路徑是否已正確設置。 – user205512 2011-05-22 18:41:34

回答

2

正如我已經在另一個答覆中提到你,這個問題是分別在Linux和Windows的:;類路徑分隔符。見this FAQ的細節,這意味着你要適應腳本包括cygpath

+0

你是對的,我應該刪除這個問題。 – Mulone 2011-05-24 08:54:08