有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

通过JWNL使用wordnet时出现java运行时错误,props文件中出现错误

嘿,我在netbeans中尝试过这个,但它不起作用,不管我做什么,它都会给我同样的错误!有人能帮忙吗


JWNL.initialize(new FileInputStream("C:\\Users\\Desktop\\file_properties.xml"));

wordnet = Dictionary.getInstance();
IndexWord word = wordnet.getIndexWord(POS.VERB,"run");
Synset[] senses = word.getSenses();
for (int i = 0; i < senses.length; i++) 
{
   System.out.println(word + ": " + senses[i].getGloss());
}

和获取丢失的文件异常:

Exception in thread "main" net.didion.jwnl.JWNLException: Unable to install net.didion.jwnl.dictionary.FileBackedDictionary
    at net.didion.jwnl.util.factory.Element.install(Element.java:34)
    at net.didion.jwnl.JWNL.initialize(JWNL.java:169)
    at testss.Testss.main(Testss.java:43)
Caused by: net.didion.jwnl.JWNLException: The properties file must specify a dictionary path
    at net.didion.jwnl.util.factory.AbstractValueParam.create(AbstractValueParam.java:34)
    at net.didion.jwnl.dictionary.FileBackedDictionary.install(FileBackedDictionary.java:111)
    at net.didion.jwnl.util.factory.Element.install(Element.java:32)
    ... 2 more
Caused by: net.didion.jwnl.JWNLException: Could not create a file manager of type class net.didion.jwnl.princeton.file.PrincetonRandomAccessDictionaryFile
    at net.didion.jwnl.dictionary.file_manager.FileManagerImpl.create(FileManagerImpl.java:98)
    at net.didion.jwnl.util.factory.AbstractValueParam.create(AbstractValueParam.java:32)
    ... 4 more
Caused by: java.io.FileNotFoundException: C:\Program Files\WordNet\2.1\dict\index.adv (The system cannot find the file specified)
    at java.io.RandomAccessFile.open(Native Method)
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:241)
    at net.didion.jwnl.princeton.file.PrincetonRandomAccessDictionaryFile.openFile(PrincetonRandomAccessDictionaryFile.java:76)
    at net.didion.jwnl.dictionary.file.AbstractDictionaryFile.open(AbstractDictionaryFile.java:58)
    at net.didion.jwnl.dictionary.file.DictionaryCatalog.open(DictionaryCatalog.java:45)
    at net.didion.jwnl.dictionary.file.DictionaryCatalogSet.open(DictionaryCatalogSet.java:34)
    at net.didion.jwnl.dictionary.file_manager.FileManagerImpl.<init>(FileManagerImpl.java:71)
    at net.didion.jwnl.dictionary.file_manager.FileManagerImpl.create(FileManagerImpl.java:96)
    ... 5 more

共 (2) 个答案

  1. # 2 楼答案

    我也面临同样的问题。我在dict文件夹中添加了一些丢失的文件,解决了这个问题

         net.didion.jwnl.JWNLException: Unable to install net.didion.jwnl.dictionary.FileBackedDictionary   
    
        at net.didion.jwnl.util.factory.Element.install(Element.java:34)    at net.didion.jwnl.JWNL.initialize(JWNL.java:157)   at getHypernyms.main(getHypernyms.java:27) 
            Caused by: net.didion.jwnl.JWNLException: The properties file must specify a dictionary path    at net.didion.jwnl.util.factory.AbstractValueParam.create(AbstractValueParam.java:34)   at net.didion.jwnl.dictionary.FileBackedDictionary.install(FileBackedDictionary.java:100)   at net.didion.jwnl.util.factory.Element.install(Element.java:32)    ... 2 more Caused by: net.didion.jwnl.JWNLException: Could not create a file manager of type class 
    
    net.didion.jwnl.princeton.file.PrincetonRandomAccessDictionaryFile  at net.didion.jwnl.dictionary.file_manager.FileManagerImpl.create(FileManagerImpl.java:71)  at net.didion.jwnl.util.factory.AbstractValueParam.create(AbstractValueParam.java:32)   ... 4 more Caused by: java.io.FileNotFoundException: E:\WordNet\WordNet-2.0\dict\adj.dat 
    
    (The system cannot find the file specified)     at java.io.RandomAccessFile.open0(Native Method)    at java.io.RandomAccessFile.open(RandomAccessFile.java:316)     at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243)   at net.didion.jwnl.princeton.file.PrincetonRandomAccessDictionaryFile.openFile(PrincetonRandomAccessDictionaryFile.java:76)     at net.didion.jwnl.dictionary.file.AbstractDictionaryFile.open(AbstractDictionaryFile.java:58)  at net.didion.jwnl.dictionary.file.DictionaryCatalog.open(DictionaryCatalog.java:46)    at net.didion.jwnl.dictionary.file.DictionaryCatalogSet.open(DictionaryCatalogSet.java:34)  at net.didion.jwnl.dictionary.file_manager.FileManagerImpl.<init>(FileManagerImpl.java:54)  at net.didion.jwnl.dictionary.file_manager.FileManagerImpl.create(FileManagerImpl.java:69)  ... 5 more
    

    我只是复制了现有的文件,并将其重命名为所需的名称。然后重新运行程序,它就能完美地工作。缺少的文件是adj。dat名词。日期。dat。idx等。 示例:现有文件名为数据。动词;复制并粘贴它,并将其重命名为动词。dat,与其他文件相同。对于指数。adj重命名为。idx。 任何疑问你都可以问我anysocialmedia/nabilraza456

    这是输出 enter image description here