2017-06-27 82 views
1

我对Java相当陌生,并且试图让基础知识失效。其中之一将处理package,我试图使用package HelpPack;实现一个类到另一个类,并在使用javac -d HelpPackage A.java时,它会抛出错误javac: file not found: A.java。谢谢你的帮助用一个包编译一个类会抛出一个错误

//B.java 
package HelpPack; 

public class B{ 

    public String name(){ 

     return "Class b"; 

    } 

} 

//A.java 
package HelpPack; 

public class A{ 

    public static void main(String[] args){ 

     B b = new B(); 

     System.out.println(b.name()); 

    } 

} 
+0

尝试删除行“包帮助包”?它适用于我,您需要编译* .java,而不仅仅是A.java – azro

+0

包通常处于较小的情况 – HuStmpHrrr

回答

1

编译所有的类

javac -d . *.java 

和使用运行,

java HelpPack.A 

看一看javac工具

从工具DOC:默认情况下,编译器将每个类文件放在与相同的目录中10其源文件。您可以使用 -d指定一个单独的目标目录(请参阅下面的选项)。

and package教程。

1

-d指定类文件将去的地方。您的java文件也需要在该目录中,命令应该是 javac HelpPack/* java

1

您的软件包需要与实际目录相匹配。

所以你的班级A.java应该在目录HelpPack

根据documentation

-d directory 

设置类文件的目标目录。该目录必须已经存在; javac不会创建它。如果某个类是软件包的一部分,javac会将类文件放入一个反映软件包名称的子目录中,并根据需要创建目录。例如,如果 指定了-d C:\ myclasses,并且该类名为com.mypackage.MyClass,则该类文件被称为 C:\ myclasses \ com \ mypackage \ MyClass.class。 如果未指定-d,javac会将每个类文件放在与其生成源文件相同的目录中。

注意:由-d指定的目录不会自动添加到您的用户类路径中。

+0

谢谢,您是否知道如何将片段编辑器从HTML/CSS/JavaScript更改为Java? –

+0

你使用什么编辑器? –

+0

堆栈中的HTML/CSS/JavaScript编辑器 –

相关问题