1. 程式人生 > >IDEA Project Structure 設定

IDEA Project Structure 設定

Facets 和 Artifacts

Facets 表示 module 使用的技術和框架等,比如 Web,Spring 和 Hibernate 等; (另,Modules 中 name 下面也會顯示使用的技術,和 Facets 相同)

Artifact 是 maven 中的一個概念,表示某個 module 要如何打包,例如 war exploded、war、jar、ear 等等打包形式;

一個 module 有了 Artifacts 就可以部署到應用伺服器中了!(我的習慣是 Artifacts 預設放在 out 資料夾中,部署的時候直接把 out 裡的專案資料夾拷到 Tomcat 的 webapps 中)

artifact,英文原意為人工製品,這裡應理解為“生成的東西”就差不多了。這個詞強調的是這是你軟體生產過程中某一步的產生物,不像程式本身,或者是配置檔案這些,是你手寫出來的。

官方定義(What is an artifact?):

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.

打包的形式:exploded、jar、war

jar:Java ARchive,通常用於聚合大量的Java類檔案、相關的元資料和資源(文字、圖片等)檔案到一個檔案,以便分發Java平臺應用軟體或庫;

war:Web application ARchive,一種JAR檔案,其中包含用來分發的JSP、Java Servlet、Java類、XML檔案、標籤庫、靜態網頁(HTML和相關檔案),以及構成Web應用程式的其他資源;

exploded:在這裡你可以理解為展開,不壓縮的意思。也就是war、jar等產出物沒壓縮前的目錄結構。建議在開發的時候使用這種模式,便於修改了檔案的效果立刻顯現出來。

參考

  1. https://www.cnblogs.com/deng-cc/p/6416332.html
  2. https://www.jetbrains.com/help/idea/working-with-artifacts.html