java source folder作用_java项目把源码放到folder里,不是source folder,这个java代码还能被调用吗?...
看到這個(gè)問題,真心覺得初學(xué)入門就用IDE真心不是一個(gè)好方法。IDE屏蔽了太多基礎(chǔ)知識(shí),比如Java是需要編譯的,運(yùn)行的是編譯后的class文件。編譯命令有編譯參數(shù),執(zhí)行命令有執(zhí)行命令的參數(shù)。還有環(huán)境變量,classpath等。由于IDE對(duì)這些細(xì)節(jié)的自動(dòng)完成,讓很多初學(xué)者以為執(zhí)行的就是他寫的Java代碼,代碼必須放到source folder等等問題都是因?yàn)槿狈@些基礎(chǔ)知識(shí)的了解。
現(xiàn)在回答下題主的問題:
IDE中的source foler指定就是編譯時(shí)Javac命令的源碼目錄參數(shù)。而target folder或者說(shuō)class folder就是Javac指定的編譯后的class存放目錄。同時(shí)這個(gè)目錄又是執(zhí)行時(shí)Java命令的classpath參數(shù)的值。Java命令在執(zhí)行時(shí)會(huì)從當(dāng)前命令的classpath和系統(tǒng)環(huán)境變量中的classpath中查找運(yùn)行時(shí)需要用的class文件。
因此在IDE中,如果將一個(gè)Java代碼文件放到非source folder里,首先IDE肯定不會(huì)做自動(dòng)編譯操作,因?yàn)榫筒豢赡苡衏lass文件,那么其他的Java代碼想引用這個(gè)Java代碼的時(shí)候,會(huì)報(bào)錯(cuò)找不到該類。
如果手動(dòng)將Java代碼編譯并將這個(gè)class放到IDE的target folder的對(duì)應(yīng)package 目錄下,在IDE就可以引用到這個(gè)Java代碼,但無(wú)法關(guān)聯(lián)對(duì)應(yīng)代碼,也就是你引入并使用這個(gè)代碼,但無(wú)法在IDE中通過(guò)在使用方跳轉(zhuǎn)到打開這個(gè)代碼,因?yàn)镮DE不知道你收到放的class和非source foler的代碼是有關(guān)系的。
最后,建議題主通過(guò)命令行手動(dòng)編譯執(zhí)行下一個(gè)在IDE中可以正常運(yùn)行的項(xiàng)目。如果能正確編譯并正常運(yùn)行了,那么對(duì)于Java基礎(chǔ)中編譯和運(yùn)行算是掌握了。
總結(jié)
以上是生活随笔為你收集整理的java source folder作用_java项目把源码放到folder里,不是source folder,这个java代码还能被调用吗?...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 爬虫requests高阶篇详细教程
- 下一篇: python基础入门(3)之字符串