我试图授予一个.
java文件访问另一个.
java文件中的类.我想在命令行上执行此操作.例如,如何使用下面的两个文件执行此操作?
文件:“ToImport.java”
package ABC; public class ToImport { private String aName; public ToImport(String Name) { aName = Name; } public String toString() { return("Text: " + aName); } }
文件:“TheImport.java”
package ABC; public class TheImport { public static void main(String[] args) { ToImport abc = new ToImport("a"); System.out.println("TEST: " + abc); } }
当我输入javac ToImport.java时,我没有错误,但是当我输入javac TheImport.java时,我收到以下错误,
解决方法
TheImport取决于ToImport类.因此,当您编译TheImport时,编译器还必须编译ToImport或访问已编译的ToImport类.
假设您有一个如下所示的目录,
src └── ABC ├── TheImport.java └── ToImport.java
另外,假设您在目录src中并且想要编译为../classes.您必须使用以下命令之一:
javac -d ../classes ABC/ToImport.java ABC/TheImport.java
要么
javac -d ../classes ABC/ToImport.java javac -cp ../classes -d ../classes ABC/TheImport.java
如果两个.java文件都相互依赖,那么你必须像第一个命令一样同时编译它们.
另请注意,包应该全部小写以遵守Java命名约定.
要运行您可以输入的主程序,
cd ../classes java ABC.TheImport