所以我遵循了几个教程,我基本上尝试在带有外部Jar的cmd行上运行java程序。我知道有很多关于此的问题,但是在尝试使用代码后我发现了两个错误。 \
它是一个名为“HelloJar.java”的简单程序,它使用了Apache Commons Lang String Utils。
我看到错误( 你可以看到我设置了类路径并运行它 。):
虽然在Eclipse中工作很好:
文件夹结构(在罐子里是必要的罐子,在Src中是我需要的项目):
以下是我为StringUtils导入的 .jar文件:
找不到符号是什么意思?
----------------------- Rajesh的回答--------------------- ---------------
答案 0 :(得分:1)
问题在于,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
答案 1 :(得分:0)
找不到符号是什么意思?
这意味着,编译器无法在类路径中找到指定的路径。所以,这意味着,当您尝试从命令行运行jar时,您的库
org.apache.commons.lang.StringUtils
。因此,为了解决这个问题,请检查您的jar中是否包含该库,或者您是否在类路径中具有该库并指定了正确的类路径。
答案 2 :(得分:0)
虽然您确实将类路径设置为正确的文件夹,但是窗口路径分离与Unix Box不同。
javac -cp ".;./jars/org.apache.commons.lang.StringUtils.jar/" HelloJar.java
java -cp ".;./jars/org.apache.commons.lang.StringUtils.jar/" HelloJar
答案 3 :(得分:0)
另一个Java的区别是类路径是编译时路径。它与执行时间路径不同。