繁体   English   中英

在jar文件中执行一个类

[英]Executing a class in jar file

我创建了一个使用selenium-server-standalone-2.47.1.jarjavax.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM