我的 Java 代码仅在来自 IDE 的 运行 时有效,而不是终端

My Java code only works when ran from IDE, not terminal

我可以 运行 我的 Java 程序在 IDE 中运行良好,但是当我在命令行中尝试第一步时:

  1. 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 文件夹中。

现在将找到所有必需的依赖项