Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

tdbloader on Cygwin: java.lang.NoClassDefFoundError

I'm trying to use tbdloader on Cygwin (Windows 7 with the latest Java installation). This is the tbdloader documentation: http://jenawiki.hpl.hp.com/wiki/TDB/Commands

This is the wrapper script I'm using to call tdbloader on my machine:

#!/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

This is the error I get:

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"

The tdbloader works fine on Mac and Linux.

Any ideas?

Mulone

like image 712
Mulone Avatar asked Dec 01 '25 13:12

Mulone


1 Answers

As I already mentioned to you in another answer, the issue is the : and ; classpath separators in Linux and Windows respectively. See this FAQ for details, which suggests you should adapt the script to include cygpath.

like image 126
Ian Dickinson Avatar answered Dec 05 '25 17:12

Ian Dickinson



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!