myeclipse和maven的clean和build

轉:

詳解myeclipse和maven的clean和build

版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/qq_35603331/article/details/80002723

MyEclipse是一個被廣為使用的軟件,但是很多人用了很久,對它如何編譯,執行一個java工程卻沒有一個清楚的認識。比如,

  1. clean和build到底有什么區別?
  2. 直接run主類之前用不用clean一下?
  3. 直接clean和maven clean是不是一樣的?
  4. 直接build和maven build,結果相同嗎?

另外,在遇到最棘手的問題:

錯誤: 找不到或無法加載主類

的時候,很容易陷入懵逼狀態。下面我結合我的一些實驗,簡單介紹下myeclipse的,clean,build,run,以及他們和maven clean,maven build的區別。

一.myeclipse的clean,build和run


首先,我們使用一個普通的maven工程作為例子。


  1. clean。作用很簡單,清空輸出目錄下的所有文件,每一個source folder都有一個自己的輸出目錄,也就是output
    folder。這個目錄可以在build path里進行設置,一個標準maven工程中,src/main/java通常的輸出目錄是
    工程名/target/classes
  2. build。build的作用則是編譯,實際上就是把source fold下的所有文件轉移到相應的output folder, .java文件先編譯再轉移,其他文件直接轉移。在maven工程中,這個build其實相當于一次myeclipse自身的編譯,最后再利用maven提取一下資源文件。
  3. 其實兩者區別很明顯了,很多時候我們分不清他和clean的區別,是因為myeclipse提供了很多便利的機制。clean的提示框如下:
    myeclipse-clean
    看到紅框了嗎,如果打勾,表示clean完畢之后立刻進行一次build,那看起來就和build沒什么區別了。如果你把勾去掉,clean后去查看輸出目錄,就會發現輸出目錄被清空了。這里就不進行截圖了。
    4.run。簡單來說就是找一個main方法,直接右鍵,run java application,相信大家都用過。這個run,實際上就是去
    工程名/target/classes
    這個目錄下去找class文件執行而已(如果不是maven工程,可能去工程名/classes下找),那么沒有文件怎么辦呢?如果你剛剛完成了clean,但是沒有build,那么它會自動build一次。此外都會直接去找文件執行,如果找不到咋辦?
錯誤: 找不到或無法加載主類

二.maven的clean和build

  1. maven clean
    默認情況下直接刪除target文件夾。簡單直接。
  2. maven build
    按照maven規則進行編譯,和myeclipse無關,也就是說,不管你是不是設置了source folder,maven都按照他那一套進行編譯,具體規則大家可以找maven文章深入學習。
  3. 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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/278313.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/278313.shtml
英文地址,請注明出處:http://en.pswp.cn/news/278313.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

三星Galaxy S20:如何開啟黑暗模式

Justin Duino賈斯汀杜伊諾(Justin Duino)Samsung was one of the first Android manufacturers to add Dark Mode to its handsets. If you recently purchased a Galaxy S20, S20, or S20 Ultra, enabling the UI feature and setting it up on a schedule is extremely easy.…

nginx和apache限制IP地址訪問的設置方法

一、nginx禁止IP地址訪問1、在nginx配置文件中加入這個&#xff1a;2、重啟nginx服務二、apache禁止IP地址訪問1、更改vhosts.conf文件&#xff1a;NameVirtualHost 192.168.1.191 <VirtualHost 192.168.1.191:99>#DocumentRoot "/usr/local/kk-mail/data/www"…

wordweb在線編輯_使用WordWeb享受按需詞典和詞庫功能

wordweb在線編輯Run across an unusual word or need a synonym for a word quickly? Usually that means opening a browser and doing the appropriate search. Now you can have all that word power goodness at your fingertips with WordWeb. 遇到一個不尋常的詞還是需…

轉://RMAN跨平臺可傳輸表空間和數據庫

參考鏈接&#xff1a; http://blog.itpub.net/23135684/viewspace-776048/ http://blog.sina.com.cn/s/blog_69e7b8d7010164xh.html https://www.2cto.com/database/201311/260446.html 這篇文章翻譯自Oracle 11gR2官方文檔。詳細討論了使用RMAN工具的CONVERT DATAFILE&#xf…

2139=數據結構實驗之圖論五:從起始點到目標點的最短步數(BFS)

1 #include<stdio.h>2 #include<string.h>3 int map[1000][1000],visit[1000];4 int step,mark;5 int queue[1000];//用來儲存已經遍歷了的數據。6 void BFS(int k)7 {8 int i,o0,p0,temp,end0;//temp用來表示當前所在地。o表示下一步從哪個頂點向下出發。9 …

vnc數量限制_通過限制視覺效果在Vista上加速VNC

vnc數量限制This article was written by MetrotekGeek from Metrotek Solutions, a friend of the How-To Geek 本文由Metrotek Solutions的MetrotekGeek撰寫&#xff0c;Metrotek Solutions是How-To Geek的朋友 As a computer field tech, I use the remote desktop program…

思科AP-什么是COS AP?

COS:Click OS 所有新的wave 2 AP都帶有COS。它建立在IOS之上&#xff0c;但behaves 不同。 COS APs是Click OS APs&#xff08;較新的AP型號&#xff0c;Wave 2等&#xff09; 例如&#xff1a;18xx&#xff0c;28xx&#xff0c;38xx&#xff0c;48xx型號Click OS APs或COS AP。…

[轉帖]外殼命名空間擴展

一般介紹 很多人一定用過ZipMagic&#xff0c;對它能把一個壓縮文件映射成文件夾感到很奇怪&#xff0c;不知道它使用了什么技術&#xff0c;實際上它用到的技術就是實現了一個外殼的命名空間擴展&#xff08;Shell Namespace Extention&#xff09;。 文件夾和視圖&#xff1a…

使Safari在Windows Vista上每20秒停止崩潰

The new Safari for Windows is a very slick browser that beats the pants off everything else in the speed department, but it crashes so much on Windows Vista that it’s virtually unusable. 新的Windows版Safari瀏覽器非常流暢&#xff0c;可以超越速度部門的所有…

js----與瀏覽列表有關的對象(瀏覽器對象)

document  location  history  navigator  screen   frame History 對象包含用戶&#xff08;在瀏覽器窗口中&#xff09;訪問過的 URL Location 對象包含有關當前 URL 的信息 Window 對象表示瀏覽器中打開的窗口 Navigator 對象包含有關瀏覽器的信息 轉載于:https:/…

[svc]jdk+tomcat部署.jforum論壇部署

安裝jdk和tomcat jdk1.7.0_13(系列)下載url 我這里用的最新的jdk. 去官網下載即可cd /usr/local/src/ tar xf jdk-8u162-linux-x64.tar.gz -C /usr/local/ ln -s /usr/local/jdk1.8.0_162 /usr/local/jdk tar xf apache-tomcat-8.5.29.tar.gz -C /usr/local/ ln -s /usr/local/…

ipad和iphone切圖_如何從iPhone和iPad上的Mail應用程序刪除電子郵件帳戶

ipad和iphone切圖Nicole Lienemann/Shutterstock妮可利尼曼(Nicole Lienemann)/ ShutterstockWhen you add your Google account to your iPhone or iPad in the Settings app, you’re adding your Gmail account to the Mail app. If you prefer to use third-party email cl…

使用nmcli 實現 bond0 網絡組 網橋三種模式

使用nmcli 實現 bond 網絡組 網橋模式 bond0&#xff08;負載均衡&#xff09; step1&#xff1a;創建一個bond0的主屬nmcli connection add con-name bond0 type bond ifname bond0 mode active-backup 之所以不為綠色是因為還沒有創建從屬&#xff0c;這個bond0相當于一個虛擬…

RabbitMQ是如何運轉的?

前言 之前已經介紹了RabbitMQ交換機模型的相關簡單概念&#xff0c;都是作為此篇的基礎鋪墊&#xff0c;如果對此篇不懂的可以先看我上一篇的介紹認識RabbitMQ交換機模型&#xff0c;或者聯系評論&#xff0c;分享《RabbitMQ實戰指南》電子書給大家&#xff0c;里面雖然有些許錯…

如何種植屢獲殊榮的青豆

Most people don’t know this yet, but I’ve decided to give up computers and become a farmer instead. Since I’m the helpful type, I’ve decided to share everything I know about farming with you, starting with how I won my prize winning green beans. 大多數…

充分利用Microsoft Planner的6種方法

Microsoft Planner is pretty simple to use, but some of its more useful features aren’t front and center. If you’re just creating and moving tasks, here are six ways to get a bit more out of Planner. Here’s everything you need to know. Microsoft Planner的…

IOS - UTF-8轉碼問題

2016.07.06 21:45* 字數 61 閱讀 921評論 0喜歡 2 IOS中提供的轉碼。 [utf8str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 轉碼后發現&#xff0c;與java的不一樣。 原來IOS中轉碼的標準不一致&#xff0c;導致出現錯誤。 不過&#xff0c;可以使用下…

手把手教你如何實現繼承

本文將從最簡單的例子開始&#xff0c;從零講解在 JavaScript 中如何實現繼承。 小例子 現在有個需求&#xff0c;需要實現 Cat 繼承 Animal &#xff0c;構造函數如下&#xff1a; function Animal(name){this.name name }function Cat(name){this.name name } 復制代碼注&a…

最詳細的排序解析,理解七大排序

最詳細的排序解析&#xff0c;理解七大排序 mp.weixin.qq.com點擊上方“方志朋”&#xff0c;選擇“置頂或者星標” 你的關注意義重大&#xff01; 注&#xff1a; lgN在這里為1og2N簡寫 為了方便描述,本文默認用int類型比較&#xff0c;從小到大排序 本文排序算法以java語言…

xp刪除管理員賬戶_在Windows XP中從登錄屏幕刪除用戶帳戶

xp刪除管理員賬戶So you login to your computer every single day, but there’s more than one account to choose from… either because you got the computer from somebody else, or some software package added a user account that you really don’t want to see. So…