我有这个java源文件
C:\crp\dfdf\src\oata\HelloWorld.java
我可以编译它
C:\crp\dfdf>javac -sourcepath c:\crp\dfdf -d build\classes src\oata\HelloWorld.j
ava
到
C:\crp\dfdf\build\classes\oata\HelloWorld.class
但是我注意到(保持相同的目录并保持与上面相同的其他参数)然后无论源路径是什么,它仍然有效
C:\crp\dfdf>javac -sourcepath c:\sdklsdlewrrblahthisdirdoesnotexist -d build\classes src\oata\HelloWorld.java
C:\crp\dfdf>
如果我更正了源路径(因此,回到c:\crp\dfdf\src
)但移到了另一个目录,那么它就不起作用了
C:\>javac -sourcepath c:\crp\dfdf\src -d build\classes src\oata\HelloWorld.java
javac: file not found: src\oata\HelloWorld.java
Usage: javac <options> <source files>
use -help for a list of possible options
C:\>
我想也许指定文件的路径附加到源路径,但这不起作用
C:\>javac -sourcepath c:\crp\dfdf\src -d build\classes oata\HelloWorld.java
javac: file not found: oata\HelloWorld.java
Usage: javac <options> <source files>
use -help for a list of possible options
所以我很难看到sourcepath的运作方式
答案 0 :(得分:3)
当其他文件(可能需要编译为依赖项)不在您当前目录下的位置或与文件的源路径相关时,使用-sourcepath
指定编译。它很少使用。