Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
使用javac的坏类文件_Java_Compiler Errors - Fatal编程技术网

使用javac的坏类文件

使用javac的坏类文件,java,compiler-errors,Java,Compiler Errors,一些背景:我是一名刚刚学习Java的学生,通常教授负责确保我们的作业具有正确的课堂路径。然而,整个学期我都被同样的问题困扰着,我仍然不明白出了什么问题 例如,我有两个文件,MyProgram.java位于文件夹“MyProject”中,而MyProgramTest.java位于文件夹“ClassProject”中,其中也包含“MyProject”MyProgramTest创建一个MyProgram对象,并允许您测试其功能 MyProgramTest有行import MyProject.MyPro

一些背景:我是一名刚刚学习Java的学生,通常教授负责确保我们的作业具有正确的课堂路径。然而,整个学期我都被同样的问题困扰着,我仍然不明白出了什么问题

例如,我有两个文件,MyProgram.java位于文件夹“MyProject”中,而MyProgramTest.java位于文件夹“ClassProject”中,其中也包含“MyProject”
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
文件的顶部?您的讲师对此有何意见?请阅读。更少的代码描述-更多的代码本身。编辑您的问题以提供该信息。