0

私は最初の数週間、イエナとうまく仕事をしています。しかし、今日、tomcatはエラーを吐き出し始めました。

私はそれを以下に絞り込んだと思います:

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();
4

1 に答える 1

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、Jena ライブラリが配置されているパスに変更するだけです。

于 2010-12-04T15:34:45.263 に答える