2015-08-18 71 views
0

我創建了一個應用程序,使用selenium-server-standalone-2.47.1.jarjavax.mail.jar。該代碼在eclipse上工作,但我想從命令行運行相同的代碼。所以我將項目導出到一個可運行的jar文件,該文件包含selenium和javax.mail.jar。 我的代碼包含RTC.java它具有主要功能,另一個Ex.java。 這兩個類文件都是在com文件夾中生成的。 我的App1.jar文件位於C:\ installers中。在jar文件中執行類

我用命令:

c:\installers> java -cp App1.jar com.RTC 

它說:

Exception in thread "main" java.lang.NoClassDefFoundError: org.openqa.selenium.WebDriver 

而且我用:

java -cp .App1.jar com.RTC 

於是說找不到或無法加載主類com.RTC 。

我在做什麼錯?

+0

你能看到JAR內某處的'WebDriver'類嗎? –

+0

我提取了硒jar文件。存在org.openqa.selenium.WebDriver.class – Ansu

+0

可能重複的[如何解決java.lang.NoClassDefFoundError?](http://stackoverflow.com/questions/17973970/how-to-solve-java-lang-noclassdeffounderror ) – connorp

回答

0

我找到了解決方案。我不需要創建一個具有參考瓶的jar文件。我不得不提到我的jar,它有我的代碼和我在類路徑中使用的引用jar。

我的代碼是在App.jar.The參考罐子

硒的服務器獨立-2.47.1.jar和 javax.mail.jar。

所以我用 C:\安裝> java命令硒的服務器獨立-2.47.1.jar; javax.mail.jar; App.jar com.RTC

謝謝。

0

我用命令:

c:\installers> java -cp App1.jar com.RTC 

它說:

Exception in thread "main" java.lang.NoClassDefFoundError: 
org.openqa.selenium.WebDriver 

該異常通常意味着一個.class文件已找到,但它並沒有包含正確的課程。檢查你如何將它放入JAR中。它的目錄和文件名必須與其包名和類名匹配。

它有時也似乎意味着沒有找到中學班。通常,二次JAR文件在主JAR文件的清單的class-path進入提到,與main-class名一起,所以你可以使用

java -jar App1.jar 

而且我用:

java -cp .App1.jar com.RTC 

然後它說無法找到或加載主類com.RTC。

我並不感到驚訝。如果第一個命令得到儘可能遠的話,JAR文件名不會以點開始。無法想象爲什麼你試過這個。這是無稽之談。