我有这些文件:
c:\MY_SOURCES\AClient.java
c:\MY_SOURCES\Pluto.java
c:\MY_SOURCES\com\Classes\Pluto.class
进入 AClient.java 我有
import com.Classes.*;
Pluto p = new Pluto();
当我编译文件时:
javac -classpath . AClient.java
编译器告诉我它无法访问 Pluto
作为错误的源文件 Pluto.java
...但是如果我移动 Pluto.java
远离 c:\MY_SOURCES
进行编译。
最佳答案
您的源文件夹应该反射(reflect)您的包结构。如果没有,javac 就会感到困惑。理想情况下,您编译的 .class 文件夹应该位于与源文件夹不同的根目录中。
所以
c:\MY_SOURCES\AClient.java (assuming in the default package)
c:\MY_SOURCES\com\Classes\Pluto.java
c:\MY_COMPILED\com\Classes\Pluto.class
javac -classpath=c:\MY_COMPILED -d
c:\MY_COMPILED\ c:\MY_SOURCES\AClient.java
关于java - 为什么这不能编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3091260/