java应用程序中的Microsoft转换器API类路径错误

时间:2012-09-18 06:21:52

标签: java classpath noclassdeffounderror

我正在尝试在我的java(windows窗体)应用程序中创建Microsoft转换器API。我在windows azure市场注册并注册了我的Microsoft Translate应用程序,所以我有这些ClientId和Client Secret密钥,但它仍然不起作用。我找不到我做错了什么。

这是我的代码:

import com.memetix.mst.language.Language;
import com.memetix.mst.translate.Translate

public class Main {
public static void main(String[] args) {
    try{
        Translate.setClientId(/* my Client Id */);
        Translate.setClientSecret(/* my Client Secret */);

        String translatedText = Translate.execute("Bonjour le monde", Language.FRENCH, Language.ENGLISH);

        System.out.println(translatedText);
    }
    catch(Exception e) {
        System.err.println("Exception: " + e.getMessage());
    }
}

}

这就是我得到的错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/memetix/mst/translate/Translate
    at Main.main(Main.java:9)
Caused by: java.lang.ClassNotFoundException: com.memetix.mst.translate.Translate
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 1 more

1 个答案:

答案 0 :(得分:0)

您应该在Classpath for Linux/Solaris上安装Microsoft的翻译库。

如果这是一个独立程序,您可以尝试以下命令:

java -classpath "%classpath%;.;<path_to_the_translation_library.jar>" Main

<path_to_the_translation_library.jar>应与您用于编译此Main类的库或JAR相同。