我有这个代码:
import org.openqa.selenium.firefox.FirefoxDriver;
public class Test {
public static void main(String[] args) {
try{
FirefoxDriver driver = new FirefoxDriver();
driver.get("http:\\www.yahoo.com");
} catch(Exception e){
e.printStackTrace();
}
}
}
我想在cmd
中运行它。因此,我在 .bat
文件中调用以下命令。
javac -classpath "C:\selenium-2.42.2\selenium-server-standalone-2.42.2.jar;C:\selenium-2.42.2\selenium-java-2.42.2.jar;C:\selenium-2.42.2\selenium-firefox-driver-2.42.2.jar" Test.java
java Test
返回以下错误:
C:\selenium-2.42.2>javac -classpath "C:\selenium-2.42.2\selenium-server-standalo
ne-2.42.2.jar;C:\selenium-2.42.2\selenium-java-2.42.2.jar;C:\selenium-2.42.2\sel
enium-firefox-driver-2.42.2.jar" Test.java
C:\selenium-2.42.2>java Test
Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/f
irefox/FirefoxDriver
at Test.main(Test.java:6)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.firefox.Firefox
Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
此外,以下信息也会有所帮助:
java -version
得到:java版本“1.8.0_05” Java(TM) SE 运行时环境(版本 1.8.0_05-b13) Java HotSpot(TM) 64 位服务器 VM(内部版本 25.5-b02,混合模式)
C:\Program Files (x86)\Mozilla Firefox>firefox.exe -v |更多的 Mozilla Firefox 30.0
也许这篇文章会被标记为重复,但我遵循了其他人的建议,但没有成功。您能透露一下情况吗?
Here是我使用的 jar
文件。
谢谢!
PS:Win7 64位
最佳答案
您的第一个命令javac
构建了类,但没有将依赖项嵌入到最终的jar文件中,这就是错误告诉您的内容:java.lang.NoClassDefFoundError。运行该类时,您仍然需要提供相同的依赖项。
javac -cp "C:\selenium-2.42.2\selenium-java-2.42.2.jar" Test.java
java -cp "C:\selenium-2.42.2\selenium-java-2.42.2.jar" Test
selenium-java.jar 应该足以满足您的情况。看看这里的图形 http://www.seleniumhq.org/download/maven.jsp查看不同的 Selenium jar 如何相互包含。
我不相信您可以单独使用 javac
将依赖项嵌入到最终的 .jar 中。您将需要其他工具。
关于java - 在命令提示符下运行 java Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24535528/