javac 的类路径和源路径选项之间的差异

2024-03-24

我阅读了 Sun 文档和 Stack Overflow 上的很多帖子,但我仍然对 Java 编译器选项之间的差异感到困惑-cp and -sourcepath.

假设我有这个目录结构:

c:\Java\project1\src (where the Java source files are)  
c:\Java\project1\bin (where the Java class files will be or already are)  

假设我有一个源文件MainClass.java在一个包中com.mypackage,并且源文件夹中的目录结构正确。

我在project1目录并运行:

javac -d bin -sourcepath src src/com/mypackage/MainClass.java  

or

javac -d bin -classpath src src/com/mypackage/MainClass.java  

我得到了相同的结果。在详细模式下,源文件的搜索路径是src在这两种情况下。

如果有人能帮助我弄清楚这些选项的具体细节,那就太好了。


 -classpath classpath

设置用户类路径,覆盖 CLASSPATH 环境变量中的用户类路径。如果未指定 CLASSPATH 或 -classpath,则用户类路径由当前目录组成。

如果未指定 -sourcepath 选项,则会在用户类路径中搜索源文件和类文件。

-sourcepath sourcepath

指定搜索类或接口定义的源代码路径。与用户类路径一样,源路径条目以分号 (;) 分隔,可以是目录、JAR 存档或 ZIP 存档。如果使用包,则目录或存档内的本地路径名必须反映包名称。

请注意,如果找到了通过类路径找到的类的源,则它们会自动重新编译。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javac 的类路径和源路径选项之间的差异 的相关文章

随机推荐