Java 在编译我的客户端时,它说org.apache.commons.lang3.time.StopWatch不';它在我的项目中不存在,为什么?

Java 在编译我的客户端时,它说org.apache.commons.lang3.time.StopWatch不';它在我的项目中不存在,为什么?,java,apache-commons,Java,Apache Commons,编译项目时,我在org.apache.commons.lang3.time.StopWatch上遇到一个错误,它说它不存在 这是编译器: @echo off Title Compiler "C:\Program Files\Java\jdk1.8.0_131\bin\javac.exe" *.java pause 而“commons-lang3-3.4.jar”在我的项目中,我在代码中导入了StopWatch类 1张图片中的屏幕截图-> 有什么想法吗 清理类路径。类路径中有2个JRE。这会导

编译项目时,我在
org.apache.commons.lang3.time.StopWatch
上遇到一个错误,它说它不存在

这是编译器:

@echo off
Title Compiler
"C:\Program Files\Java\jdk1.8.0_131\bin\javac.exe" *.java
pause
而“commons-lang3-3.4.jar”在我的项目中,我在代码中导入了StopWatch类

1张图片中的屏幕截图->


有什么想法吗

清理类路径。类路径中有2个JRE。这会导致一些编译错误。别忘了重新编译你的项目。
顺便说一句:通用语言的当前版本是3.5。

问题在于编译时没有指定类路径。使用
javac
编译时,如果要使用库(Java中包含的库除外),则需要指定类路径

例如:

javac -cp .;lib\commons-lang.jar *.java
其中,
表示当前文件夹,
lib\commons-lang.jar
指向commons-lang的路径(位置可能与您不同)

或者,您可以设置
CLASSPATH
环境变量


请注意,如果您是通过IDE进行编译的,而不是使用临时批处理文件进行编译,那么它可能工作得很好。

@Pepjin您是如何将jar文件添加到项目中的?我可以看到您有两个java设置。你能从项目构建内容视图中删除一个吗?问题不在于通过IDE编译,所以这是无关的;OP正在使用自定义批处理文件进行编译,并且没有指定类路径。请参阅下面的“这就是编译器”部分,以供完成:如果编译是从IDE外部触发的,则可能会导致问题,除非它由插件(如maven)支持。可能,但这与问题中的实际问题无关。你的回答更多的是对这个具体问题的评论,这就解决了问题。更改了上面的内容并添加了类路径,如下所示。“C:\ProgramFiles\Java\jdk1.8.0\u 131\bin\javac.exe”-cp。;commons-lang3-3.5.jar*.java