myeclipse和maven的clean和build
轉:
詳解myeclipse和maven的clean和build
2018年04月20日 11:33:34 群星墜 閱讀數:3529 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/qq_35603331/article/details/80002723MyEclipse是一個被廣為使用的軟件,但是很多人用了很久,對它如何編譯,執行一個java工程卻沒有一個清楚的認識。比如,
另外,在遇到最棘手的問題:
錯誤: 找不到或無法加載主類
的時候,很容易陷入懵逼狀態。下面我結合我的一些實驗,簡單介紹下myeclipse的,clean,build,run,以及他們和maven clean,maven build的區別。
一.myeclipse的clean,build和run
首先,我們使用一個普通的maven工程作為例子。
folder。這個目錄可以在build path里進行設置,一個標準maven工程中,src/main/java通常的輸出目錄是
工程名/target/classes
看到紅框了嗎,如果打勾,表示clean完畢之后立刻進行一次build,那看起來就和build沒什么區別了。如果你把勾去掉,clean后去查看輸出目錄,就會發現輸出目錄被清空了。這里就不進行截圖了。
4.run。簡單來說就是找一個main方法,直接右鍵,run java application,相信大家都用過。這個run,實際上就是去
工程名/target/classes
這個目錄下去找class文件執行而已(如果不是maven工程,可能去工程名/classes下找),那么沒有文件怎么辦呢?如果你剛剛完成了clean,但是沒有build,那么它會自動build一次。此外都會直接去找文件執行,如果找不到咋辦?
二.maven的clean和build
默認情況下直接刪除target文件夾。簡單直接。
按照maven規則進行編譯,和myeclipse無關,也就是說,不管你是不是設置了source folder,maven都按照他那一套進行編譯,具體規則大家可以找maven文章深入學習。
工程名/target/classes,無論源代碼還是資源文件,根目錄都是這個文件夾,打包其實就相當于把這個文件夾打包而已。
三.總結
無論如何,build之前都應該clean,因為如果直接build,同名文件直接覆蓋,非同名文件會保留,這有可能給程序帶來未知的問題。如果myeclipse的輸出文件夾設置合理,那么和maven build可能也不會出現什么不同。但是,在使用maven的情況下,直接使用myeclipse內置的build功能仍然可能會和maven build產生不完全一致的效果,比如maven可能會忽視src/main/java文件夾內的資源文件,而myeclipse會保留。
嚴格來說,myeclipse內置的編譯功能,更多的是提供代碼提示和檢查功能,即使你完全不使用它,maven也可以正確編譯。(當然這樣你就享受不到代碼提示之類的的了)。
但可以確定的是,使用maven clean build總是可以生成最精確的結果,所以推薦先maven clean build后再運行程序。
轉載于:https://www.cnblogs.com/libin6505/p/10395333.html
總結
以上是生活随笔為你收集整理的myeclipse和maven的clean和build的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【CFD学习】yplus,y+,边界层理
- 下一篇: 2139=数据结构实验之图论五:从起始点