使用javac的坏类文件
一些背景:我是一名刚刚学习Java的学生,通常教授负责确保我们的作业具有正确的课堂路径。然而,整个学期我都被同样的问题困扰着,我仍然不明白出了什么问题 例如,我有两个文件,MyProgram.java位于文件夹“MyProject”中,而MyProgramTest.java位于文件夹“ClassProject”中,其中也包含“MyProject”使用javac的坏类文件,java,compiler-errors,Java,Compiler Errors,一些背景:我是一名刚刚学习Java的学生,通常教授负责确保我们的作业具有正确的课堂路径。然而,整个学期我都被同样的问题困扰着,我仍然不明白出了什么问题 例如,我有两个文件,MyProgram.java位于文件夹“MyProject”中,而MyProgramTest.java位于文件夹“ClassProject”中,其中也包含“MyProject”MyProgramTest创建一个MyProgram对象,并允许您测试其功能 MyProgramTest有行import MyProject.MyPro
MyProgramTest
创建一个MyProgram
对象,并允许您测试其功能
MyProgramTest
有行import MyProject.MyProgram代码>我的指导老师给出的编译说明是在“ClassProject”中使用javacmyproject/*.java
,效果很好。然后,我们将在同一目录中使用javacmyprogramtest.java
。然而,编译器声称:
import MyProject.MyProgram;
bad class file: .\MyProject\MyProgram.class
class file contains wrong class: MyProgram
Please remove or make sure it appears in the correct subdirectory of the classpath.
所以我不太明白为什么会这样MyProgram位于MyProject目录中,该目录位于我所在的文件夹中。由于讲师使用了这种精确的方法来编译这些程序,我一直被搞砸,因为我的程序从来没有正确编译过。你知道我做错了什么,或者我如何在不改变目录结构的情况下修复文件以这种方式编译吗?确保:
MyProgram.java
文件应在文件顶部包含以下行:
package MyProject;
从ClassProject
文件夹编译MyProgram.java
:
javac -d . MyProject/*.java
然后从同一文件夹编译MyProgramTest.java
:
javac MyProgramTest.java
这将在适当的文件夹结构中正确创建类文件
这应该能解决你的问题
希望这有帮助 确保:
MyProgram.java
文件应在文件顶部包含以下行:
package MyProject;
从ClassProject
文件夹编译MyProgram.java
:
javac -d . MyProject/*.java
然后从同一文件夹编译MyProgramTest.java
:
javac MyProgramTest.java
这将在适当的文件夹结构中正确创建类文件
这应该能解决你的问题
希望这有帮助 您是否记得将package MyProject
放在MyProgram.java
文件的顶部?您的讲师对此有何意见?请阅读。更少的代码描述-更多的代码本身。编辑您的问题以提供这些信息。您是否记得将package MyProject
放在MyProgram.java
文件的顶部?您的讲师对此有何意见?请阅读。更少的代码描述-更多的代码本身。编辑您的问题以提供该信息。