Java 包不存在错误
我刚刚回来修复我编写的一个小程序中的一些错误,现在我无法编译,因为包不存在(根据javac) 据我所知,我没有改变我的类路径中的任何内容,也没有改变我的目录的内容。我不知道其间是否有任何Java更新 在我的根目录中,有四个Java文件组成了我的程序。他们没有任何属于他们的包裹。此外,我在根目录中有目录结构Java 包不存在错误,java,import,package,Java,Import,Package,我刚刚回来修复我编写的一个小程序中的一些错误,现在我无法编译,因为包不存在(根据javac) 据我所知,我没有改变我的类路径中的任何内容,也没有改变我的目录的内容。我不知道其间是否有任何Java更新 在我的根目录中,有四个Java文件组成了我的程序。他们没有任何属于他们的包裹。此外,我在根目录中有目录结构org\apache\commons\cli,其中包含来自apachecommons的clijava文件。Apache文件确实有一个包,该包反映了它们所在的目录结构 如果我发出命令javac-v
org\apache\commons\cli
,其中包含来自apachecommons的clijava文件。Apache文件确实有一个包,该包反映了它们所在的目录结构
如果我发出命令javac-verbose-d build CommandLine.java
,它会失败
CommandLine.java:28: package org.apache.commons.cli does not exist
import org.apache.commons.cli.*;
^
CommandLine.java
是程序的入口点
编译器没有试图编译CLI文件,如果我事先编译它们,失败仍然会发生。此外,CLI在我的类路径中也可用
我正在运行javac1.6.0_12
我能做什么/尝试什么
编辑答案:
如下所示,我将编译命令更改为:
javac -verbose -d build -classpath . CommandLine.java
现在它起作用了。我不知道为什么以前会这样,为什么现在停止了
因问题原因而编辑
我安装了一个程序,它也使用类路径来运行自己的东西。它更改了属于用户的类路径,但保留了全局路径。我重新添加了java类路径,它再次工作了 除非是打字错误,否则请注意,您说的是
com\apache\commons\cli
,但导入需要org.apache.commons.cli
-org
vscom
您是否解压缩了apache JAR并将.class文件添加到应用程序中?为什么不把JAR添加到类路径中呢
您不应该依赖于类路径
环境变量。编译时最好使用-classpath
选项javac.exe
,运行时使用java.exe
。是否检查classpath环境变量是否实际设置并指向所需的库?@casablanca classpath已设置并指向正确的位置。如果您是指classpath环境变量,这是错误的。你不应该有。我需要这是一个独立的程序,所以我需要在jar中包含类文件。我尝试了另一个编译命令:javac-verbose-d build-classpath。java
。现在它起作用了(出于某种原因)。