簡體   English   中英

翻譯時的java.lang.NoClassDefFoundError

[英]java.lang.NoClassDefFoundError when Translating

我正在使用Apertium Translator並使用他們提供的示例代碼。 我的代碼是這樣的。

import com.robtheis.aptr.language.Language;
import com.robtheis.aptr.translate.Translate;

public class Test {

public static void main(String[] args) throws Exception {
    // Set the Apertium API Key - Get yours at http://api.apertium.org/register.jsp
    Translate.setKey("BNSCFhEL8DoTApc2I1+aa3UYkVg");

    String translatedText = Translate.execute("Hola, mundo!", Language.SPANISH, Language.ENGLISH);

    System.out.println(translatedText);
}
}

我沒有錯誤或警告,當我運行程序時,我得到以下錯誤。

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/JSONValue
at com.robtheis.aptr.ApertiumTranslatorAPI.jsonSubObjToString(ApertiumTranslatorAPI.java:195)
at com.robtheis.aptr.ApertiumTranslatorAPI.retrieveSubObjString(ApertiumTranslatorAPI.java:140)
at com.robtheis.aptr.translate.Translate.execute(Translate.java:56)
at maple.Test.main(Test.java:11)
Caused by: java.lang.ClassNotFoundException: org.json.simple.JSONValue
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 4 more

我正在使用的.jar是第二個來自https://github.com/rmtheis/apertium-translator-java-api/downloads

你必須下載第一個。 第一個jar文件( apertium-translator-java-api-0.2-jar-with-dependencies.jar )包含所需的所有依賴項。

或者您將json庫添加到項目路徑中。

好吧JVM無法在運行時找到一些在編譯時可用的類。 這就是NoClassDefFoundError的原因
下面你還有這個類org.json.simple.JSONValue的 ClassNotFoundException ,這意味着你試圖在運行時按名稱加載特定的類。
它們都與Java Class Path有關 我不太了解jSON的東西。 但是您缺少此文件org.json.simple.JSONValue,您可以從這里獲取它http://code.google.com/p/json-simple/
在類路徑中添加上面的jar文件。 代碼肯定會運行。 保證。!!!
謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM