Maven教程(七)創(chuàng)建web工程以及插件原理

1、什么是 Maven 插件?

上一篇我們講了 Maven 的生命周期,我們知道 Maven 的核心是生命周期,生命周期指定了 Maven 命令執(zhí)行的流程順序。但是真正實現(xiàn)流程的工程是由插件來完成的。

我們也可以說 Maven 是一個執(zhí)行插件的框架,每一個任務(wù)實際上都是有插件來完成。進一步說每個任務(wù)對應(yīng)了一個插件目標(biāo)(goal),每個插件會有一個或者多個目標(biāo),例如maven-compiler-plugin的compile目標(biāo)用來編譯位于src/main/java/目錄下的主源碼,testCompile目標(biāo)用來編譯位于src/test/java/目錄下的測試源碼。

2、配置編譯插件

一般我們創(chuàng)建一個 Maven 工程,就算指定了 JDK 的版本,但是你執(zhí)行 update project 操作,一般 Maven 工程會自動恢復(fù)到默認(rèn)的 JDK 版本,有可能是1.4,有可能是1.5(和 Maven 版本有關(guān))。

那么我們?nèi)绾沃付ㄆ?JDK 版本呢?在 pom.xml 中添加如下代碼:

<build>
    <plugins>
        <!-- 編譯插件,指定 JDK 的版本為1.8 -->
        <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>

下面我們來添加一個 tomcat 插件,首先我們要知道如何創(chuàng)建 Maven Web 工程。

3、創(chuàng)建 Maven Web 工程

第一步:New maven project,注意打包方式為 war

第二步:右擊項目名,選擇 properties,選擇Project Facets

第三步:將 Dynamic Web Module 取消,點擊 Apply

第四部:將 Dynamic Web Module 重新勾選,點擊 下方生成的超鏈接

第五步:點擊超鏈接,修改目錄結(jié)構(gòu),然后點擊 OK,創(chuàng)建 Maven Web 工程完成

創(chuàng)建的 Web 工程目錄結(jié)構(gòu)如下:

4、添加 tomcat 插件

我們在上面創(chuàng)建的 web 工程,可以輸入 tomcat:run 來使用默認(rèn)的 tomcat 插件去啟動 web 工程,但是默認(rèn)的插件版本有點低,我們可以手動添加插件。

<plugins>
        <!--配置tomcat 插件  -->
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <configuration>
            <port>8080</port><!--端口號  -->
            <path>/</path>
        </configuration>
    </plugin>
</plugins>

執(zhí)行命令是輸入:tomcat7:run

如果想用tomcat8的插件,你會發(fā)現(xiàn)pom.xml文件報錯,原因是:沒有找到tomcat8-maven-plugin的plugin,在Maven的中央倉庫中根本就沒有這個插件
解決辦法:該插件下載地址
在mvnrepository倉庫中找到了一個


使用Maven中的<pluginRepositories> ,<pluginRepositories>是用來配置插件地址的,因為maven的所有功能都是使用插件來實現(xiàn)功能的,因此需要從特定的地址下載插件包。

在POM.XML中加入以下內(nèi)容

<pluginRepositories>   
      <pluginRepository>   
        <id>alfresco-public</id>    
        <url>https://artifacts.alfresco.com/nexus/content/groups/public</url>   
      </pluginRepository>    
      <pluginRepository>   
        <id>alfresco-public-snapshots</id>    
        <url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>    
        <snapshots>   
          <enabled>true</enabled>    
          <updatePolicy>daily</updatePolicy>   
        </snapshots>   
      </pluginRepository>    
      <pluginRepository>   
        <id>beardedgeeks-releases</id>    
        <url>http://beardedgeeks.googlecode.com/svn/repository/releases</url>   
      </pluginRepository>   
  </pluginRepositories>

加入tomcat8-maven-plugin的依賴

     <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat8-maven-plugin</artifactId>
          <version>3.0-r1655215</version>
        </plugin>
最后編輯于
?著作權(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)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,273評論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評論 19 139
  • 簡介 概述 Maven 是一個項目管理和整合工具 Maven 為開發(fā)者提供了一套完整的構(gòu)建生命周期框架 Maven...
    閩越布衣閱讀 4,533評論 6 39
  • 2018年5月9日 天氣晴 親子日記第五篇 今天中午吃過午飯,我和女兒開始上床午休,眼睛半睜半合,睡意朦朧中...
    鄭艷麗_78bf閱讀 216評論 0 2
  • 在校園中,相信很多老師會在調(diào)座位的時候,將成績優(yōu)異的學(xué)生和成績不大好的設(shè)為同桌。不知你是否有過這樣的經(jīng)歷? 相信很...
    點點星光閱讀 353評論 0 1

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