设置类路径但 Java 程序(使用 Apache 外部 jar)在 CMD 行上没有 运行

Setting Classpath but Java program(using Apache external jar) doesnt run on CMD Line

所以我遵循了几个教程,我基本上是在尝试 运行 带有外部 Jar 的 cmd 行上的 java 程序。我 知道有很多关于此的问题,但是在尝试了建议的代码后我得到了两个错误。\

它是一个名为 "HelloJar.java" 的简单程序,它利用了 Apache Commons Lang String Utils。

错误,我看到了(如你所见,我设置了类路径并且运行它。):

虽然在 Eclipse 中很好

文件夹结构(在jar中是必须的jar,在Src中是我需要的项目):

这是我为 StringUtils 导入的 .jar 文件

找不到符号是什么意思?

------------------------拉杰什的回答之后-------------------- ------------------

What does the cannot find symbol mean?

也就是说,编译器无法在类路径中找到指定的路径。所以,这意味着,当你试图从命令行 运行 你的 jar 时,你的库有

org.apache.commons.lang.StringUtils

没有找到。因此,为了解决这个问题,请检查该库是否包含在您的 jar 中,或者您是否在类路径中有它并指定正确的类路径。

尽管您确实将类路径设置为正确的文件夹,windows文件路径分隔与 Unix Box 不同。

javac -cp ".;./jars/org.apache.commons.lang.StringUtils.jar/" HelloJar.java 
java -cp ".;./jars/org.apache.commons.lang.StringUtils.jar/" HelloJar

这里的问题是,jar 没有在类路径中设置并导致编译错误:

根据共享路径,编译命令应为:

cd C:\Users\Controlled\Documents\Eclipse_Projects\HelloWorld\src

javac -cp .;C:\Users\Controlled\Documents\Eclipse_Projects\HelloWorld\jars\* HelloJar.java

命令到 运行 java 程序,路径如下:

java -cp .;C:\Users\Controlled\Documents\Eclipse_Projects\HelloWorld\jars\* HelloJar

另一个Java区别是类路径是编译时路径。它与执行时路径不同。