首先,artifacts是maven中的一個概念,表示項目/modules如何打包,好比jar,war,war exploded,ear等打包形式,一個項目或者說module有了artifacts就能夠部署到web應用服務器上了(注意artifact的前提是已經配置好module,若是連項目都不是,怎麼配置artifacts來定義發佈項目的形式呢)java
artifact是一種用於裝載項目資產以便於測試,部署,或者分佈式軟件的解決方案。例如集中編譯class,存檔java應用包,web程序做爲目錄結構,或者web程序存檔等。web
An artifact is an assembly of your project assets that you put together to test, deploy or distribute your software solution or its part. Examples are a collection of compiled Java classes or a Java application packaged in a Java archive, a Web application as a directory structure or a Web application archive, etc.
Java ARchive,一般用於聚合大量的Java類文件、相關的元數據和資源(文本、圖片等)文件到一個文件,以便分發Java平臺應用軟件或庫;
Web application ARchive,一種JAR文件,其中包含用來分發的JSP、Java Servlet、Java類、XML文件、標籤庫、靜態網頁(HTML和相關文件),以及構成Web應用程序的其餘資源;
在這裏你能夠理解爲展開,不壓縮的意思。也就是war、jar等產出物沒壓縮前的目錄結構。建議在開發的時候使用這種模式,便於修改了文件的效果馬上顯現出來。
File-Project Structure-Artifacts,點擊其中的」+「號:服務器
選項中有web application exploded,這個是以文件夾形式(War Exploded)發佈項目,選擇這個,發佈項目時就會自動生成文件夾在指定的output directory, 若是選web application archive,就是war包形式,每次都會從新打包所有的,將項目打成一個war包在指定位置;
war模式:將web工程以war包的形式上傳到服務器app
war exploed模式:將web工程以當前文件夾的位置關係上傳到服務器maven