IDEA 創(chuàng)建基于Maven的多模塊Web項目

本文權(quán)當(dāng)我的一個筆記。如果你尚未安裝 IntelliJ IDEA.請安裝后再來看本文。本文參考了此文.
本文只是個創(chuàng)建項目的入門教程,其中不涉及一些理念的探究以及一些名詞的解釋。
水平有限,對于文中的疏漏錯誤,歡迎各位斧正。

一. 新建項目

image.png

或者點 菜單File ~ create Project 都是一樣的。

  1. 創(chuàng)建ParentProject(主項目)


    image.png

    這里我們不用點create from archetype. 主項目其實就是個框架,用來包含各個子模塊的。


    image.png
    • GroupId: 一般是組織+域名+項目名
    • ArtifactId:項目名稱。
    • Version:一般用默認即可。


      image.png

      這一步?jīng)]什么好說的,就是讓你設(shè)置項目名稱和位置。點Finish就完成了主項目的創(chuàng)建

  2. 創(chuàng)建webapp模塊
    點擊側(cè)邊欄的Project標(biāo)簽來顯示Project窗口,在項目上右擊創(chuàng)建新的模塊。


    image.png

    image.png

    注意這里要選擇webapp


    image.png

    填寫你的webapp的ArtifactId
    image.png

    這一步也沒什么好說的,他是讓你選擇Maven的路徑,這里IDEA自帶了Maven3,用默認的就可以了。
    image.png

    同樣,這一步讓你選擇保存位置。也沒什么好說的。點Finish后稍等片刻(maven在創(chuàng)建你需要的結(jié)構(gòu))。
    生成好后,當(dāng)前結(jié)構(gòu)就如下:


    image.png
  3. 我們再來創(chuàng)建個webservice模塊
    和上面創(chuàng)建過程類似,只是這次我們不要選webapp


    image.png

    創(chuàng)建好類似下面:


    image.png
  4. 同樣我們再創(chuàng)建個webdao
    和創(chuàng)建webservice模塊一樣,不用選webapp.創(chuàng)建完類似下面:


    image.png
  5. 讓webapp模塊依賴webdao和webservice

    image.png

    選擇Project structure
    image.png

    image.png

    image.png

    這樣設(shè)置依賴后,webapp模塊就能訪問webservice模塊和webdao模塊里的public類,但是maven在編譯的時候還是會報錯,因為maven的 webapp模塊 dependency依賴里沒有webservice模塊和webdao模塊。
    所以還需要到webapp模塊的pom.xml中做配置。

        <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <parent>
            <artifactId>MyWeb</artifactId>
            <groupId>com.threshold.myweb</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
        <artifactId>webapp</artifactId>
        <packaging>war</packaging>
        <name>webapp Maven Webapp</name>
        <url>http://maven.apache.org</url>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.threshold.myweb</groupId>
                <artifactId>webservice</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>com.threshold.myweb</groupId>
                <artifactId>webdao</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
        </dependencies>
        <build>
            <finalName>webapp</finalName>
          </build>
      </project>
    

    這樣,基本上就算是配置好了。

  6. 其他配置

    • 由于我們的parent主項目只是用來包裹子模塊的,所以可以把主Project下的src文件夾刪除.


      image.png

      右擊刪除src目錄即可。

    • webapp模塊還缺少java目錄。同樣打開Project Structure窗口做下面的配置。


      image.png

      創(chuàng)建好java目錄后再點上面的Sources按鈕設(shè)為源碼目錄


      image.png

      設(shè)置好后java文件夾會變藍色。
      image.png

      同理還需要對webservice模塊和webdao模塊的java目錄設(shè)為Sources處理(只是這兩個模塊不需要創(chuàng)建java文件夾,默認已經(jīng)有了)


      image.png

      全部設(shè)置好點OK保存配置。
      image.png

      Project目錄還應(yīng)像上圖那樣創(chuàng)建包。每個模塊的包名都應(yīng)以你的groupId+artifactID為開頭。
  7. 配置Tomcat運行環(huán)境
    先要下載Tomcat 以及解壓到一個目錄,這我就不多說了。自己去官網(wǎng)下載吧。


    打開配置窗口.png

    image.png

    image.png

    image.png

    再點擊右邊Application Server 旁邊的Configure.. 按鈕,添加Tomcat 目錄


    Tomcat-Server.png

    下拉選擇Tomcat-Server.png

    選擇Development標(biāo)簽,添加Artifact.png

    選擇war exploded.png

    把update action改下(這步可不做).png

    現(xiàn)在默認運行環(huán)境就是剛剛配置好的.png
  8. maven配置優(yōu)化
    我們每個模塊可能都需要單元測試,比如JUnit,通常我們會在各個模塊pom.xml下添加JUnit的依賴,但是一旦模塊很多再加上JUnit的升級,每個模塊下的pom.xml都需要更改,增加工作量不說還容易忘記某個模塊,這會導(dǎo)致同一個項目可能存在同時依賴某個庫的不同版本,而這是我們不想看到的。為了統(tǒng)一管理依賴庫的版本,建議將各個子模塊所依賴的庫信息寫到主項目下的pom.xml中。


    image.png

    在modules下面添加:

     <properties>
        <hibernate.annotations.version>3.3.0.ga</hibernate.annotations.version>
        <junit.version>4.12</junit.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    

    添加好的pom.xml如下:


    image.png

    在這里提示一下,可以點氣泡通知允許自動導(dǎo)入依賴。這樣新添加的依賴就自動加入到你的模塊中了。
    之后再打開各個模塊的pom.xml文件,如果有需要的依賴,在子模塊中引入即可,而且不需要寫依賴的模塊的version(因為主項目的pom.xml已經(jīng)定義了)


    image.png

    這里對于依賴的子模塊,建議使用引用的方式。
  9. 其他配置
    通常maven項目創(chuàng)建好后,即使你安裝的jdk是1.8的,但是卻使用不了1.8的特性。例如下面的提示:


    image.png

    解決方案如下,在主項目的pom.xml中加入plugin配置。

     <build>
      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                  <source>1.8</source>
                  <target>1.8</target>
                  <encoding>UTF-8</encoding>
              </configuration>
          </plugin>
      </plugins>
  </build>

最后整理好的pom.xml如下:


image.png

現(xiàn)在盡情的去寫你的Hello Web吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容