tdbloader on Cygwin:java.lang.NoClassDefFoundError [英] tdbloader on Cygwin: java.lang.NoClassDefFoundError

查看:206
本文介绍了tdbloader on Cygwin:java.lang.NoClassDefFoundError的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



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

 #!/ bin / bash 
#Cygwin脚本在TDB中导入大型NT文件。

CD /cygdrive/c/mypath/TDB-0.8.10
echoTDB found。设置路径
export TDBROOT = / cygdrive / c / mypath / TDB-0.8 .10
export PATH = $ PATH:$ TDBROOT / bin

CD / cygdrive / c / mypath / ontodata /
echo正在导入...
tdbloader --loc ./tdb ./datasets/large_file.nt

这是我得到的错误:

  java.lang.NoClassDefFoundError:tdb / tdbloader 
原因:java.lang.ClassNotFoundException:tdb.tdbloader
在java.net.URLClassLoader $ 1.run(未知源)
在java.security.AccessController.doPrivileged(本地方法)
在java.net.URLClassLoader.findClass(未知来源)
at java.lang.ClassLoader.loadClass(未知源)
at sun.misc.Launcher $ AppClassLoader.loadClass(未知源)
at java.lang.ClassLoader.loadClass(未知源)
找不到主类:tdb.tdbloader。程序将退出。
线程main中的异常

tdbloader在Mac和Linux上正常工作。



Mulone

解决方案

正如我在另一个答案中已经提到的,问题是; 分别在Linux和Windows中的类路径分隔符。有关详情,请参见此常见问题,建议您调整脚本以包含 cygpath


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

解决方案

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.

这篇关于tdbloader on Cygwin:java.lang.NoClassDefFoundError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆