设置类路径但 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区别是类路径是编译时路径。它与执行时路径不同。
所以我遵循了几个教程,我基本上是在尝试 运行 带有外部 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区别是类路径是编译时路径。它与执行时路径不同。