2010-12-04 6 views
0

私は最初の数週間、Jena fineを使って作業しています。しかし、今日のtomcatはエラーを吐き出し始めています。JenaException:無効なプロパティファイル

私はそれを絞らたと思う:私はプロパティは、それが意味ファイルどの把握することはできません、が

Caused by: com.hp.hpl.jena.shared.JenaException: Invalid properties file 
at com.hp.hpl.jena.util.Metadata.read(Metadata.java:71) 
at com.hp.hpl.jena.util.Metadata.addMetadata(Metadata.java:41) 
at com.hp.hpl.jena.util.Metadata.<init>(Metadata.java:35) 
at com.hp.hpl.jena.JenaRuntime.<clinit>(JenaRuntime.java:25) 

。私はjenaのプロパティファイルを設定していません。私が考えることができる唯一のもう一つのことは解析が間違っていないweb.xmlです。

エラーを引き起こすコードがある:

public void getOntModel() 
{ 
    try 
    { 
     ssn = ModelFactory.createOntologyModel(); 
     ssn.read(NS); 
    } 
    catch(Exception ex) 
    { 
     ex.printStackTrace(); 
     System.out.println("[ONTOLOGY] Failed to read ontology file"); 
    } 
    System.out.println("[ONTOLOGY] Ontology successfully read"); 
} 

具体:

ssn = ModelFactory.createOntologyModel(); 
+0

この例外はあなたにはあまり教えてくれません。 ex.getCause()。printStackTrace()を実行して、元の問題を表示します。 – user205512

答えて

0

ソースを見てみる:

これは何が起こっているのですか:

private static String metadataLocation = "com/hp/hpl/jena/jena-properties.xml" ; 
private static Metadata metadata = new Metadata(metadataLocation) ; 

これは、metadataLocationで指定されたリソースをロードしようとしているようです。あなたのクラスパスが正しいことを確認できますか?特に、Jenaライブラリのバージョンが混在していないことを確認します。存在する場合は、最新のものがクラスパスの前に並ぶように並べ替えます。

いくつかのUnixライクなシステムでは、使用することができます場合:

find /path/to/lib -name "*.jar"|while read fn; do 
    echo ---- $fn 
    jar tf $fn|grep jena-properties.xml 
done 

をプロパティファイルがあることが含まjarファイルを見つけるために - ちょうどあなたのイエナライブラリが置かれているパスに/path/to/libを変更します。

+0

jena-properties.xmlは/usr/local/bin/tomcat/webapps/Isengard/WEB-INF/lib/jena-2.6.3.jarに含まれています。これは唯一のjenaライブラリのjarファイルであり、クラスパスから削除すると別のエラーが発生します。 – Bailz

+0

あなたはtomcatクラスパスをチェックしましたか? –

+0

TOMCAT_HOME =は/ usr/local/binに/ tomcatに/ CATALINA_HOME =は/ usr/local/binに/ tomcatに/ JAVA_HOME =は/ usr/libに/ JVM/javaの-1.4.2-gcjの-1.4.2.0/ ことができます」クラスパスの問題が今何も変わっていないことが明らかになるのはなぜですか? – Bailz