[英]Executing a class in jar file
我创建了一个使用selenium-server-standalone-2.47.1.jar
和javax.mail.jar
的应用程序。 该代码在eclipse上有效,但我想从命令行运行相同的代码。 因此,我将项目导出到了一个可运行的jar文件,其中包含selenium和javax.mail.jar。 我的代码包含RTC.java
它具有主要功能及另一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。
我究竟做错了什么?
我使用了命令:
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文件名不以点开头。 无法想象为什么您尝试了此。 废话
我找到了解决方案。 我无需创建具有参考jar的jar文件。 我必须提到我的jar,其中包含我的代码和我在类路径中使用的参考jar。
我的代码在App.jar中。
selenium-server-standalone-2.47.1.jar和javax.mail.jar。
所以我用了c:\\ installers> java -cp selenium-server-standalone-2.47.1.jar; javax.mail.jar; App.jar com.RTC
谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.