Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 包不存在错误_Java_Import_Package - Fatal编程技术网

Java 包不存在错误

Java 包不存在错误,java,import,package,Java,Import,Package,我刚刚回来修复我编写的一个小程序中的一些错误,现在我无法编译,因为包不存在(根据javac) 据我所知,我没有改变我的类路径中的任何内容,也没有改变我的目录的内容。我不知道其间是否有任何Java更新 在我的根目录中,有四个Java文件组成了我的程序。他们没有任何属于他们的包裹。此外,我在根目录中有目录结构org\apache\commons\cli,其中包含来自apachecommons的clijava文件。Apache文件确实有一个包,该包反映了它们所在的目录结构 如果我发出命令javac-v

我刚刚回来修复我编写的一个小程序中的一些错误,现在我无法编译,因为包不存在(根据javac)

据我所知,我没有改变我的类路径中的任何内容,也没有改变我的目录的内容。我不知道其间是否有任何Java更新

在我的根目录中,有四个Java文件组成了我的程序。他们没有任何属于他们的包裹。此外,我在根目录中有目录结构
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
vs
com

您是否解压缩了apache JAR并将.class文件添加到应用程序中?为什么不把JAR添加到
类路径中呢


您不应该依赖于
类路径
环境变量。编译时最好使用
-classpath
选项
javac.exe
,运行时使用
java.exe

是否检查classpath环境变量是否实际设置并指向所需的库?@casablanca classpath已设置并指向正确的位置。如果您是指classpath环境变量,这是错误的。你不应该有。我需要这是一个独立的程序,所以我需要在jar中包含类文件。我尝试了另一个编译命令:
javac-verbose-d build-classpath。java
。现在它起作用了(出于某种原因)。