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