2012-09-18 24 views
0

我想在我的Java(Windows窗體)應用程序中使Microsoft翻譯器API。我在Windows Azure市場註冊並註冊了我的Microsoft翻譯應用程序,因此我擁有這些ClientId和Client Secret密鑰,但仍然無效。我找不到我做錯了什麼。在Java應用程序中的微軟翻譯API類路徑錯誤

這裏是我的代碼:

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 

回答

0

你應該有微軟的翻譯庫的Classpath for Linux/Solaris

如果這是一個獨立的程序,你可以嘗試下面的命令:

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

<path_to_the_translation_library.jar>應該是你用來編譯這個Main類相同的庫或JAR。

+0

當我這樣做我得到這個錯誤! 'java -classpath'%classpath%;。; microsoft-translator-java-api-0.6.1 -jar -with-dependencies.jar「Main。 錯誤:無法找到或加載主類主'' – sree127

+0

該錯誤意味着類路徑上缺少Main類本身。閱讀上面粘貼的Classpath鏈接。它更深入地討論了這個話題。 – asgs

+0

其實我在Netbeans IDE中試過上面的代碼。但即使所有必需的jar文件都存在,它仍然顯示錯誤。 – sree127