2012-05-05 11 views
2

最近、JavaインターフェイスのJWNLをWordNetにダウンロードすることに決めました。さまざまなチュートリアル(http://jwordnet.sourceforge.net/handbook.htmlなど)に続いて、私はWordNet(2.1)をダウンロードしてから、JWNLを使って、file_properties.xmlのdictionary_path行をWordNetのパスに設定しました。WordNetを使用しているときのExceptionInInitializerError

<param name="dictionary_path" value="c:/res/wordnet/2.1/dict"/> 

私は私のクラスパスにすべてのjarファイルを追加し、そして、Eclipseで、私はテストのために、以下の単純なクラスを作成しました:Eclipseで実行

public static void main(String[] args) throws FileNotFoundException, 
              JWNLException { 
      JWNL.initialize(new FileInputStream("C:\\path\\file_properties.xml")); 
      Dictionary wordnet = Dictionary.getInstance(); 

      IndexWord word = wordnet.getIndexWord(POS.NOUN, "monarch"); 
      for(Synset syn : word.getSenses()) { 
       System.out.println(syn.getGloss()); 
      } 
    } 

は、次のエラーを生成します。

Exception in thread "main" java.lang.ExceptionInInitializerError 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Unknown Source) 
at net.didion.jwnl.util.factory.Element.install(Element.java:31) 
at net.didion.jwnl.JWNL.initialize(JWNL.java:169) 
at TestingOnWordNet.main(TestingOnWordNet.java:28) 

Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException) (Caused by org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException)) 
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543) 
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235) 
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209) 
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351) 
at net.didion.jwnl.util.MessageLog.<init>(MessageLog.java:11) 
at net.didion.jwnl.dictionary.Dictionary.<clinit>(Dictionary.java:24) 
... 5 more 

Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException) 
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:397) 
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529) 
... 10 more 

Caused by: java.lang.NullPointerException 
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:374) 
... 11 more 

紛失しているものがありますか?私はJAWSのような代替案を見たいと思っていますが、問題を解決する方法があると思っていました。

ありがとうございます!

+2

この投稿に誰かがつぶれた場合は、 への呼び出し以外の理由がない場合は、JWNLからJAWS:http://lyle.smu.edu/~tspell/jaws/index.htmlに切り替えることを強くお勧めします'System.setProperty(" wordnet.database.dir "、" C:/res/wordnet/2.1/dict/ ");' はfile_properties.xmlファイルよりも簡単で理解しやすいです。 –

+0

私もJAWSに切り替えました。 JWPLには複雑なAPIがあります。 :P –

答えて

0

jarをクラスパスに追加しませんでした。 lib/commons-logging.jarをクラスパスに追加します。

関連する問題