Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.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 扩展类可以在Eclipse中完美编译,但不能在cmd中编译_Java_Eclipse_Cmd_Classpath - Fatal编程技术网

Java 扩展类可以在Eclipse中完美编译,但不能在cmd中编译

Java 扩展类可以在Eclipse中完美编译,但不能在cmd中编译,java,eclipse,cmd,classpath,Java,Eclipse,Cmd,Classpath,我的程序由扩展其他类的类组成。问题是,当我尝试在cmd中编译它们时,系统会说“找不到符号”。一些讨论类似问题的站点提到在类路径中包含源文件夹。我照他们说的做了,但仍然会出现同样的错误。但是,它在Eclipse中运行平稳。知道为什么吗?确保首先编译顶级类。如果您试图编译一个扩展其他类的类,但没有为该类编译.class文件,则会出现该错误 package pkg1; class A { } package pkg2; import pkg1.A; class B extends A { } 对于

我的程序由扩展其他类的类组成。问题是,当我尝试在cmd中编译它们时,系统会说“找不到符号”。一些讨论类似问题的站点提到在类路径中包含源文件夹。我照他们说的做了,但仍然会出现同样的错误。但是,它在Eclipse中运行平稳。知道为什么吗?

确保首先编译顶级类。如果您试图编译一个扩展其他类的类,但没有为该类编译
.class
文件,则会出现该错误

package pkg1;
class A { }

package pkg2;
import pkg1.A;
class B extends A { }
对于上述代码,您应该首先编译包含
类A
.java
文件,以编译包含
类B
.java
文件。另外,在类路径中设置包含类文件的路径

在Eclipse中,它之所以有效,是因为它会在保存类时自动编译它们

注意:-


如果您的类在某些包下,那么使用以下命令编译java文件:-
javac-d。A.java
。这将为包名创建一个文件夹,并自动将类文件放入该文件夹中。然后您的类B将能够找到它

请确保首先编译顶级类。如果您试图编译一个扩展其他类的类,但没有为该类编译
.class
文件,则会出现该错误

package pkg1;
class A { }

package pkg2;
import pkg1.A;
class B extends A { }
对于上述代码,您应该首先编译包含
类A
.java
文件,以编译包含
类B
.java
文件。另外,在类路径中设置包含类文件的路径

在Eclipse中,它之所以有效,是因为它会在保存类时自动编译它们

注意:-


如果您的类在某些包下,那么使用以下命令编译java文件:-
javac-d。A.java
。这将为包名创建一个文件夹,并自动将类文件放入该文件夹中。然后你的B班就可以找到它了

我试着按正确的顺序编译它们。以你的例子来说,发生的事情是:1。编制了一份报告。2.当我试着编译B时,编译器说“找不到符号:A”。你们能解释一下为什么在这种情况下类路径很重要吗?我将所有文件都放在一个文件夹中…您确定包含
A.class
的路径在您的类路径中吗?例如,如果您的路径是:-
D:\somePath\myclasses\A.class
,那么您的类路径应该包含:-
D:\somePath\myclasses
@atLANtis。你的课程在什么包裹下吗?@atLANtis。是的,类文件应该位于类似于包结构的文件夹层次结构中。按照上面的命令编译文件。会有用的。我试着按正确的顺序编译它们。以你的例子来说,发生的事情是:1。编制了一份报告。2.当我试着编译B时,编译器说“找不到符号:A”。你们能解释一下为什么在这种情况下类路径很重要吗?我将所有文件都放在一个文件夹中…您确定包含
A.class
的路径在您的类路径中吗?例如,如果您的路径是:-
D:\somePath\myclasses\A.class
,那么您的类路径应该包含:-
D:\somePath\myclasses
@atLANtis。你的课程在什么包裹下吗?@atLANtis。是的,类文件应该位于类似于包结构的文件夹层次结构中。按照上面的命令编译文件。所有需要编译的类,以及执行编译所需的库,都必须在-classpath选项中定义。类似这样:
javac-classpath-path/to/everything
。您需要编译的所有类以及执行编译所需的库都必须在-classpath选项中定义。类似这样:
javac-classpath/to/everything