Исключение в потоке main java.lang.NoClassDefFoundError: sdb/sdbconfig

Я хочу экспортировать свою онтологию (сделанную в Protege) в базу данных MySQL. Я следовал этим инструкциям: https://jena.apache.org/documentation/sdb/installation.html и https://jena.apache.org/documentation/sdb/commands.html. И когда я использую команду «bin/sdbconfig --sdb=sdb.ttl --create», я получаю эту ошибку:

Exception in thread "main" java.lang.NoClassDefFoundError: sdb/sdbconfig
Caused by: java.lang.ClassNotFoundException: sdb.sdbconfig
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: sdb.sdbconfig.  Program will exit.

Я устанавливаю переменные среды следующим образом:

Viktor@Pepe /cygdrive/d/My Dropbox/Diplomska/SDB-1.3.3
$ export SDBROOT="d:/My Dropbox/Diplomska/SDB-1.3.3"

Viktor@Pepe /cygdrive/d/My Dropbox/Diplomska/SDB-1.3.3
$ export SDB_USER="root"

Viktor@Pepe /cygdrive/d/My Dropbox/Diplomska/SDB-1.3.3
$ export SDB_PASSWORD=""

Viktor@Pepe /cygdrive/d/My Dropbox/Diplomska/SDB-1.3.3
$ export SDB_JDBC="d:/Fakultet/jars/mysql-connector-java-5.1.7-bin.jar"

Viktor@Pepe /cygdrive/d/My Dropbox/Diplomska/SDB-1.3.3
$ export PATH=$SDBROOT/bin:$PATH

Это вывод команды "bin/sdb_path":

Viktor@Pepe /cygdrive/d/My Dropbox/Diplomska/SDB-1.3.3
$ bin/sdb_path
d:/My Dropbox/Diplomska/SDB-1.3.3/lib/arq-2.8.7-tests.jar;d:/My Dropbox/Diplomsk
a/SDB-1.3.3/lib/arq-2.8.7.jar;d:/My Dropbox/Diplomska/SDB-1.3.3/lib/hsqldb-1.8.0
.10.jar;d:/My Dropbox/Diplomska/SDB-1.3.3/lib/icu4j-3.4.4.jar;d:/My Dropbox/Dipl
omska/SDB-1.3.3/lib/iri-0.8.jar;d:/My Dropbox/Diplomska/SDB-1.3.3/lib/jena-2.6.4
-tests.jar;d:/My Dropbox/Diplomska/SDB-1.3.3/lib/jena-2.6.4.jar;d:/My Dropbox/Di
plomska/SDB-1.3.3/lib/junit-4.5.jar;d:/My Dropbox/Diplomska/SDB-1.3.3/lib/log4j-
1.2.13.jar;d:/My Dropbox/Diplomska/SDB-1.3.3/lib/lucene-core-2.3.1.jar;d:/My Dro
pbox/Diplomska/SDB-1.3.3/lib/sdb-1.3.3-tests.jar;d:/My Dropbox/Diplomska/SDB-1.3
.3/lib/sdb-1.3.3.jar;d:/My Dropbox/Diplomska/SDB-1.3.3/lib/slf4j-api-1.5.8.jar;d
:/My Dropbox/Diplomska/SDB-1.3.3/lib/slf4j-log4j12-1.5.8.jar;d:/My Dropbox/Diplo
mska/SDB-1.3.3/lib/stax-api-1.0.1.jar;d:/My Dropbox/Diplomska/SDB-1.3.3/lib/wstx
-asl-3.2.9.jar;d:/My Dropbox/Diplomska/SDB-1.3.3/lib/xercesImpl-2.7.1.jar

А это файл "Store/sdb.ttl": @

prefix sdb:     <http://jena.hpl.hp.com/2007/sdb#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .

# MySQL - InnoDB


<#store> rdf:type sdb:Store ;
    sdb:layout     "layout2/index" ;
    sdb:connection <#conn> ;
    sdb:engine     "InnoDB" ;      # MySQL specific
.

<#conn> rdf:type sdb:SDBConnection ;
    sdb:sdbType       "MySQL" ;    # Needed for JDBC URL
    sdb:sdbHost       "localhost" ;
    sdb:sdbName       "SDB" ;
    sdb:driver        "com.mysql.jdbc.Driver" ;
    .

Может ли кто-нибудь сказать мне, что я делаю неправильно?


person Viktor    schedule 04.04.2011    source источник


Ответы (1)


Это действительно основная ошибка: путь к классам sdbconfig должен быть неправильным. Однако я вообще не знаю окон и cygwin.

Я предполагаю, что это вызвано пробелом в пути «Мой Dropbox». Не могли бы вы попробовать переместить sdb в другой каталог? Вы также можете попробовать export SDBROOT="d:/My\ Dropbox/Diplomska/SDB-1.3.3".

person user205512    schedule 06.04.2011
comment
Большое спасибо :) Какая глупая ошибка. Да, именно пространство было причиной проблемы. Я переместил папку SDB в другое место, и теперь она работает нормально. - person Viktor; 07.04.2011