发布网友 发布时间:2022-04-08 23:16
共5个回答
热心网友 时间:2022-04-09 00:45
javac是编译你的java文件,编译后的java文件,是创建了包名的一个文件路径,比如你直接执行javac A.java,那么会在当前目录下创建如下class文件:a/b/A.class,而当你执行java命令的时候,如果还在当前目录下执行java命令就会报错,因为在当前目录下,并不能找到A.class。当越包引用的时候,如题。那么在执行javac A.java到时候,编译器会寻找a/c/B.class文件,如果你没有编译B.java文件,那么就不会存在a/c/B.class文件,就会报错了。所以在执行javac A.java的时候,要首先编译该类调用的其它包中的所有文件。这样会很麻烦是吧?sun还有一个编译工具叫Ant,这个东西可以比较轻易的解决这个问题,具体Ant的使用就自己查资料吧。事实上各种的编译软件都是使用Ant编译的。除非他自己写一个类似功能的软件。热心网友 时间:2022-04-09 02:03
问题解决方法:热心网友 时间:2022-04-09 03:38
javac是编译java文件,编译后的java文件,是创建了包名的一个文件路径,比如直接执行javac A.java,那么会在当前目录下创建如下class文件:a/b/A.class
2当执行java命令的时候,如果还在当前目录下执行java命令就会报错,因为在当前目录下,并不能找到A.class。
当越包引用的时候,如题。那么在执行javac A.java到时候,编译器会寻找a/c/B.class文件,如果没有编译B.java文件,那么就不会存在a/c/B.class文件,就会报错了。所以在执行javac A.java的时候,要首先编译该类调用的其它包中的所有文件。
sun还有一个编译工具叫Ant,这个东西可以比较轻易的解决这个问题,具体Ant的使用就自己查资料吧。事实上各种的编译软件都是使用Ant编译的。除非他自己写一个类似功能的软件。
热心网友 时间:2022-04-09 05:29
在javac的命令行中可以设置classespath,也可以在环境变量中进行设置。热心网友 时间:2022-04-09 07:37
设置环境变量classpath,把你的包所在位置添加进去应该就可以了