Maven 整合Tomcat 容器

一、整合之前

整合之前,我們都是使用本地的 Tomcat 服務器進行開發測試,最最頭疼的一個問題就是每次做項目都要手動導入 jar 包,隨着功能越來越多導入的 jar 包也越來越多,導致我們的項目變得很大,運維很頭疼。

maven 正是解決這一問題的,當然還有 gradle,不過現在 javaweb 項目一般都是 maven 管理,所以我們也用 maven。

二、整合步驟

這裏以 IDEA 演示如何使用 maven 創建一個 javaweb 項目:

# 大前提

大前提是你的 IDEA 已經配置好 maven 了,下面這張圖是配置好的界面,如果你還沒有配置,點擊這裏:https://blog.csdn.net/weixin_43941364/article/details/104667393

1、new project

新建一個項目, 輸入 webapp 可以快速定位:在這裏插入圖片描述
然後展開它,選擇第一個正式版本:
在這裏插入圖片描述
這裏解釋一下這是在幹嘛,這就是讓 maven 給我們生成一個 模板,這樣創建完項目之後就會自動生成 web 目錄,而且會配置好 facts

下面點擊確定,然後輸入項目相關信息即可。


之後 maven 會去加載文件,等一會之後就好了,生成完成之後項目結構是這樣的:
在這裏插入圖片描述
這只是模板,我們可以根據自己的需求隨意更改,比如這裏我們 JDK 的版本改爲和我的項目內容一致:
在這裏插入圖片描述
下面是最關鍵的一步,爲了整合 Tomcat,我們必須在 maven 當中配置,告訴 maven 我們需要 tomcat,這樣他纔會給你生成。

<plugins>
	<plugin>
		<groupId>org.apache.tomcat.maven</groupId>
		<artifactId>tomcat7-maven-plugin</artifactId>
		<version>2.2</version>
		<configuration>
			<port>8080</port>
			<path>/</path>
		</configuration>
	</plugin>
</plugins>

我們在build 標籤中加入 plugins 標籤,裏面配置上面的內容。

  • port:端口號,和 tomcat 同理
  • path:項目的絕對路徑,如果設置成 test 訪問的時候要加上 /test,不寫默認爲根路徑。

然後打開右側的 maven 窗口,你會發現 tomcat 插件已經裝好了。
在這裏插入圖片描述
如果你沒有,我建議你將 maven 設置爲如下配置:

在這裏插入圖片描述

然後我們來看一下 pom 文件中的標籤都是什麼意思。

<build>
        <finalName>maven-demo</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <port>8080</port>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>

這裏的<pluginManagement>標籤裏面的內容是重寫的 maven 父類配置文件中配置,也就是說就算你不寫也有,但是我們寫了可以指定爲較新的版本。它的作用就是提供一些基本的打包以及部署命令。

相信下面這張圖大家看到很多次了:
在這裏插入圖片描述
這裏簡單說一下每個步驟的作用。

首先我們要明確每個 maven 項目都有一個 target 目錄,該目錄存放maven 運行之後生成的文件,比如該項目的目錄已經被maven自動指定好了。
在這裏插入圖片描述
那麼這樣配置之後,maven 啓動之後就會在該文件夾下生成相應的文件。

  • clean——清理:刪除target 目錄及內容;
  • compiler——編譯:將 java 文件編譯成 class 文件放入 target 目錄;
  • deploy——部署:將項目部署到遠程倉庫,需要事先在pom 文件中配置,我沒用過;
  • package——打包:將項目打包放入target 目錄;
  • install——安裝:將項目打包後併發布到本地倉庫;

其中package命令默認會把項目打成jar包,但是我們可以配置爲 war 包。
在這裏插入圖片描述
比如這裏我們加入了一個war 的插件,這樣就可以直接執行該會插件,然後項目會自動被打包放入 target目錄下。


好了,到現在爲止我們才新建了項目,還沒有解釋 Tomcat 在哪。

2、Tomcat

我們使用 maven 工具啓動 Tomcat:

雙擊 run 即可運行項目,他會自動執行我們之前介紹的 compiler package 等命令。
在這裏插入圖片描述
運行結果如圖,簡直不要太方便,按照我們傳統的當時還有配置本地的 Tomcat 等信息:在這裏插入圖片描述
現在只需要在 pom 文件裏面配置就好了。

那麼你是否好奇,這個 tomcat 哪來的?

我們之前說了,這個不是本地的 Tomcat,是它再帶的,是插件本身,那我們來驗證一下。

我們打開target 目錄來看一下:

在這裏插入圖片描述
我們發現它確實自動生成了一個 tomcat 文件夾,而且裏面的目錄結構即爲 tomcat 目錄結構。

現在可以確定了,這個 tomcat 其實是 maven插件自帶的。

三、整合之後

整合之後如果我們想發佈項目到服務器該怎麼辦?

簡單隻需兩步:

1、雙擊執行 war命令:
在這裏插入圖片描述
2、打開 target找到war文件,然後複製到服務器的Tomcatwebapp目錄下:
在這裏插入圖片描述
如果服務器在運行都不用重啓可以直接訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章