저는 Apertium Translator를 사용하고 그들이 제공하는 샘플 코드를 사용하고 있습니다. 내 코드는 이것과 같습니다.java.lang.NoClassDefFoundError 번역 할 때
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
첫 번째 다운로드를 사용하면 같은 오류가 발생합니다. json 라이브러리를 프로젝트 경로에 어떻게 추가합니까? – user2612619
좋아 ..이 json lib를 https://code.google.com/p/json-simple/downloads/detail?name=json-simple-1.1.1.jar&can=2&q=에서 다운로드하고 빌드 경로에 추가하십시오. 그것은 작동해야합니다. apertium translotar는이 라이브러리를 사용하지만 종속성으로 추가되지 않습니다. 그 이유는 NoClassDefFoundError를 얻는 이유입니다. – zennon
내가 그렇게하면 가져 오기와 Translate.xxx에서 오류가 발생합니다. – user2612619