如何解决Java命令行编译问题和依赖项
| 我具有以下类结构:Main Class: WordNet.java
WordNet.java uses SAP.java
SAP.java uses DeluxeBFS.java
当我运行命令
$ javac WordNet.java
我回来
WordNet.class
WordNet$Synset.class
SAP.class
DeluxeBFS.class
DeluxeBFS$markDist.class
Synset和markDist是私有类。
我不明白的是为什么如果我在DeluxeBFS中进行更改并重新编译WordNet,则不会编译该更改。由于WordNet取决于DeluxeBFS,因此,如果进行了更改,则Java编译器不应重新编译它?似乎文件甚至没有被触及。
解决方法
不,编译器会找到
DeluxeBFS
的类文件,这已经结束了-它不会尝试寻找它的源文件(当然可以在任何地方)。
通常,在使用javac从命令行进行编译时,最好重新编译所有内容。
如果要进行增量编译以注意到哪些文件已更改等,则应使用Eclipse之类的IDE。
,您回答了自己的问题-javac不会重新编译所有依赖项,仅编译作为输入给出的文件。这实际上是一个优势-像Eclipse这样的IDE只会编译修改后的文件,而不是整个代码库
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。