我创建了一个使用selenium-server-standalone-2.47.1.jar
和javax.mail.jar
的应用程序。代码适用于eclipse,但我想从命令行运行相同的代码。所以我将项目导出到一个包含selenium和javax.mail.jar的runnable jar文件。
我的代码包含RTC.java
,其中包含Main函数和另一个Ex.java
。
这两个类文件都是在com文件夹中生成的。
我的App1.jar文件位于C:\ installers。
我使用了命令:
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 :(得分:0)
我使用了命令:
c:\installers> java -cp App1.jar com.RTC
它说:
Exception in thread "main" java.lang.NoClassDefFoundError:
org.openqa.selenium.WebDriver
该异常通常意味着找到.class文件,但它不包含正确的类。检查你如何将它放入JAR。它的目录和文件名必须与其包和类名匹配。
有时候似乎也意味着找不到二级课程。通常,主JAR文件清单的class-path
条目中提到了辅助JAR文件以及main-class
名称,因此您可以使用
java -jar App1.jar
我还使用了:
java -cp .App1.jar com.RTC
然后它说无法找到或加载主类com.RTC。
我并不感到惊讶。如果第一个命令得到了它,那么JAR文件名不会以点开头。无法想象为什么你试过这个。这是无稽之谈。
答案 1 :(得分:0)
我找到了解决方案。我不需要创建一个具有引用jar的jar文件。我必须提到我的jar,它有我的代码和我在类路径中使用的参考jar。
我的代码在App.jar中。参考jar是
selenium-server-standalone-2.47.1.jar和 javax.mail.jar。
所以我用过 C:\安装> java -cp selenium-server-standalone-2.47.1.jar; javax.mail.jar; App.jar com.RTC
谢谢。