我正在学习Java,因此决定使用Notepad ++进行编码。
现在我正在尝试创建自己的包结构,但发现了一些问题。
1-)我将CLASSPATH设置为:
;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\jre\lib;%JAVA_HOME%\jre\lib\rt.jar;C:\projects;
C:\projects
是我的软件包的新用户定义目录。
文件结构为:
C:\projects\study\Lab03
->为我的classe01.java
并且:
C:\projects\study
->代表我的classe02.java
class01
的编码如下:
package study.Lab03;
public class classe01{
public void execute(){
System.out.println("test");
}
}
和class02
是:
import study.Lab03.*;
public class classe02{
public static void main(String[] args){
classe01 cl01 = new classe01();
cl01.execute();
{
}
我正在尝试:
C:\projects\study\Lab03>javac classe01.java
classe01的编译很好。
然后我尝试:
C:\projects\study>javac classe02.java
但是我收到以下错误:
答案 0 :(得分:0)
package
语句必须与文件层次结构匹配。
您在package study.Lab03;
中有classe01.java
,因此源路径中的相对文件名必须为study\Lab03\classe01.java
。由于完整路径为C:\projects\study\Lab03\classe01.java
,因此 CLASSPATH必须引用C:\projects
。
您在文件夹classe02.java
中有文件C:\projects\study
,我们刚刚得出结论,C:\projects
是根目录,该文件必须包含一个package study;
语句。
通常最好不要定义CLASSPATH
,然后在编译和运行时将其放在根文件夹中,或者使用-cp
命令行选项。
注意:对于根文件夹是命名为C:\project
还是C:\projects
,您的问题似乎很困惑。根据需要调整连接名称。