私は Jena API を学んでおり、Schemagen を使用して、パッケージ com.hp.hpl.jena.vocabulary のようなクラスを自分の語彙用に作成したいと考えています。
http://www.apache.org/dist/incubator/jena/apache-jena-2.7.0-incubating/で Jena をダウンロードしました。ダウンロードしたら、解凍してそのままにしておきます。
C:\Users\moi\NetBeansProjects\apache-jena-2.7.0-incubating\apache-jena-2.7.0-incubating は、bat フォルダー、bin フォルダー、javadoc-arq フォルダーなどがあるフォルダーです。
C:\Users\moi\NetBeansProjects\apache-jena-2.7.0-incubating\apache-jena-2.7.0-incubating\lib にあるすべてのライブラリと相対リンクを使用して、プロジェクトの 1 つで Jena をテストしました。動作します。
コマンド ラインで簡単に使用できるようにするために、ファイル "MyKnowledgeBase.rdf" を lib フォルダーに移動しました。
libフォルダーから試しました
java jena.schemagen -i "myKnowledgeBase.rdf"
そしてこれを入手
Exception in thread "main" java.lang.NoClassDefFoundError: jena/schemagen
Caused by: java.lang.ClassNotFoundException: jena.schemagen
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: jena.schemagen. Program will exit.
だから私はクラスパスを設定しようとしました:
C:\Users\moi\NetBeansProjects\apache-jena-2.7.0-incubating\apache-jena-2.7.0-incubating\lib>
set CLASSPATH=commons-codec-1.5.jar;httpclient-4.1.2.jar;httpcore-4.1.3.jar;icu4j3.4.4.jar;jena.arq-2.9.0-incubating.jar;jena.core-2.7.0-incubating.jar;jena.iri0.9.0-incubating.jar;log4j-1.2.16.jar;slf4j-api-1.6.4.jar;slf4j-log4j12-1.6.4.jar;xercesImpl-2.10.0.jar; xml-apis-1.4.01.jar;
しかし、私はまだ同じエラーがあります。私も試してみました
java -cp commons-codec-1.5.jar;httpclient-4.1.2.jar;httpcore-4.1.3.jar;icu4j3.4.4.jar;jena.arq-2.9.0-incubating.jar;jena.core-2.7.0-incubating.jar;jena.iri0.9.0-incubating.jar;log4j-1.2.16.jar;slf4j-api-1.6.4.jar;slf4j-log4j12-1.6.4.jar;xercesImpl-2.10.0.jar; xml-apis-1.4.01.jar; jena.schemagen -i myKnowledgeBase.rdf
私がする時
echo %CLASSPATH%
入力した内容を取得します
各jarの絶対パスで set CLASSPATH を使用しようとしましたが、機能しません。
だから今、私は何をすべきかわかりません。
Jena では、jena-core-2.7.0-incubating.jar (netbeans を使用) のパッケージ「jena」に schemagen.class が見つかりました。
エクスプローラーでは、クラスファイルが見つかりませんでした。
java -jar を実行するコマンドラインですでにいくつかのプロジェクトを実行しているため、Java とコマンドラインは問題ありません
ご協力ありがとうございました
編集: 引数 -classpath と %CLASSPATH% の間のスペースを削除しましたが、別のものが得られました \o/ まだ機能しませんが、進行中です!
「認識されないオプション」および「Java 仮想マシンを作成できませんでした」
Edit2 : これを解決できなかったので、netbeans で新しいプロジェクトを作成しました。schemagen クラスのコピーを作成し、それをメイン クラスとして配置し、すべての jar をライブラリとして含めます。その後 :
java -jar "C:\Users\moi\NetBeansProjects\MyJena\dist\MyJena.jar" -i "myKnowledgeBase.rdf" -o "C:\Users\moi\NetBeansProjects\apache-jena-2.7.0-incubating\apache-jena-2.7.0-incubating\lib" --ontology