我的 Java 代码仅在来自 IDE 的 运行 时有效,而不是终端
My Java code only works when ran from IDE, not terminal
我可以 运行 我的 Java 程序在 IDE 中运行良好,但是当我在命令行中尝试第一步时:
javac Main.java Test.java
然后我得到一系列错误。
错误是说我所有的导入都不存在
Main.java:3: error: package org.openqa.selenium does not exist
import org.openqa.selenium.By;
^
Main.java:4: error: package org.openqa.selenium does not exist
import org.openqa.selenium.Platform;
^
Main.java:5: error: package org.openqa.selenium does not exist
import org.openqa.selenium.WebDriver;
^
Main.java:6: error: package org.openqa.selenium does not exist
import org.openqa.selenium.WebElement;
^
Main.java:7: error: package org.openqa.selenium.remote does not exist
import org.openqa.selenium.remote.DesiredCapabilities;
^
Main.java:8: error: package org.openqa.selenium.remote does not exist
import org.openqa.selenium.remote.RemoteWebDriver;
^
Main.java:16: error: cannot find symbol
DesiredCapabilities caps = new DesiredCapabilities();
^
symbol: class DesiredCapabilities
location: class Main
Main.java:16: error: cannot find symbol
DesiredCapabilities caps = new DesiredCapabilities();
^
symbol: class DesiredCapabilities
location: class Main
Main.java:25: error: cannot find symbol
WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
^
symbol: class WebDriver
location: class Main
Main.java:25: error: cannot find symbol
WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
^
symbol: class RemoteWebDriver
location: class Main
Main.java:27: error: cannot find symbol
WebElement element = driver.findElement(By.name("q"));
^
symbol: class WebElement
location: class Main
Main.java:27: error: cannot find symbol
WebElement element = driver.findElement(By.name("q"));
^
symbol: variable By
location: class Main
12 errors
我做错了什么?我怎样才能让我的代码正确找到这些导入?
编辑:我查看了其他答案,但它们对我不起作用。我所有的 jar 文件都位于此处 C:\Users\NROLL97\Documents\jars
。这是我尝试过的示例:
javac -cp "C:\Users\NROLL97\Documents\jars\*.jar:." Main.java
好的
我想向你推荐的第一件事是关于你如何编译你的源代码,而不是写每个你想用任何其他 class 名称编译的 class 名称,只需使用 *
示例:javac *.java(按回车键)
此命令将一次编译所有 java 个源文件,而不是单独编写它们的名称
好的,让我们来解决你的问题
您的编译器找不到 selenium 包或说 .jar 文件,其中包含与 selenium classes
相关的所有 classes
下载其中包含 selenium 相关 class 的 .jar 文件,并将其保存在您保存 main.java 和 Test.java 文件的相同位置
然后尝试编译它
对于可能遇到此问题的任何其他人...
需要这样的东西:
java -cp ".\target\classes;lib\*;" org.testng.TestNG ParallelTestXML.xml
.\target\classes
是 class 文件(不是 .java 文件)的路径,lib\*
是我所有 jars
的路径在 lib
文件夹中。
现在将找到所有必需的依赖项
我可以 运行 我的 Java 程序在 IDE 中运行良好,但是当我在命令行中尝试第一步时:
javac Main.java Test.java
然后我得到一系列错误。
错误是说我所有的导入都不存在
Main.java:3: error: package org.openqa.selenium does not exist
import org.openqa.selenium.By;
^
Main.java:4: error: package org.openqa.selenium does not exist
import org.openqa.selenium.Platform;
^
Main.java:5: error: package org.openqa.selenium does not exist
import org.openqa.selenium.WebDriver;
^
Main.java:6: error: package org.openqa.selenium does not exist
import org.openqa.selenium.WebElement;
^
Main.java:7: error: package org.openqa.selenium.remote does not exist
import org.openqa.selenium.remote.DesiredCapabilities;
^
Main.java:8: error: package org.openqa.selenium.remote does not exist
import org.openqa.selenium.remote.RemoteWebDriver;
^
Main.java:16: error: cannot find symbol
DesiredCapabilities caps = new DesiredCapabilities();
^
symbol: class DesiredCapabilities
location: class Main
Main.java:16: error: cannot find symbol
DesiredCapabilities caps = new DesiredCapabilities();
^
symbol: class DesiredCapabilities
location: class Main
Main.java:25: error: cannot find symbol
WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
^
symbol: class WebDriver
location: class Main
Main.java:25: error: cannot find symbol
WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
^
symbol: class RemoteWebDriver
location: class Main
Main.java:27: error: cannot find symbol
WebElement element = driver.findElement(By.name("q"));
^
symbol: class WebElement
location: class Main
Main.java:27: error: cannot find symbol
WebElement element = driver.findElement(By.name("q"));
^
symbol: variable By
location: class Main
12 errors
我做错了什么?我怎样才能让我的代码正确找到这些导入?
编辑:我查看了其他答案,但它们对我不起作用。我所有的 jar 文件都位于此处 C:\Users\NROLL97\Documents\jars
。这是我尝试过的示例:
javac -cp "C:\Users\NROLL97\Documents\jars\*.jar:." Main.java
好的 我想向你推荐的第一件事是关于你如何编译你的源代码,而不是写每个你想用任何其他 class 名称编译的 class 名称,只需使用 * 示例:javac *.java(按回车键)
此命令将一次编译所有 java 个源文件,而不是单独编写它们的名称
好的,让我们来解决你的问题 您的编译器找不到 selenium 包或说 .jar 文件,其中包含与 selenium classes
相关的所有 classes下载其中包含 selenium 相关 class 的 .jar 文件,并将其保存在您保存 main.java 和 Test.java 文件的相同位置
然后尝试编译它
对于可能遇到此问题的任何其他人...
需要这样的东西:
java -cp ".\target\classes;lib\*;" org.testng.TestNG ParallelTestXML.xml
.\target\classes
是 class 文件(不是 .java 文件)的路径,lib\*
是我所有 jars
的路径在 lib
文件夹中。
现在将找到所有必需的依赖项