最近、WordNet への Java インターフェイス用に JWNL をダウンロードすることにしました。さまざまなチュートリアル ( http://jwordnet.sourceforge.net/handbook.htmlなど) に従って、WordNet (2.1) をダウンロードし、次に JWNL をダウンロードして、file_properties.xml の dictionary_path 行を WordNet へのパスに設定しました。
<param name="dictionary_path" value="c:/res/wordnet/2.1/dict"/>
すべての jar をクラスパスに追加し、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());
}
}
Eclipse で実行すると、次のエラーが発生します。
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 のような代替手段を検討する準備をしていますが、問題を解決する方法があることを期待していました。
ありがとう!