Maven——關於idea 2018.1版本集成tomcat7插件的問題解決

最近在學習尚學堂的idea使用教程中在maven的web工程創建階段出現了一些問題,具體爲兩個情形,情形如下:

 

情形1

運用maven集成的tomcat插件,我們不需要將項目部署到tomcat中,直接通過maven的tomcat指令即可對項目進行部署和運行,大部分的tomcat7插件的部署步驟爲在pom.xml文件中添加如下標籤:

<build>
        <plugins>
            <!--配置tomcat插件-->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <!--配置項目的路徑和tomcat的端口,以及服務器編碼解決亂碼問題-->
                <configuration>
                    <path>/</path>
                    <port>9090</port>
                    <uriEncoding>UTF-8</uriEncoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

但是添加後在idea的maven projects中會出現這樣的錯誤

解決1

可以通過報錯提示得知是插件的版本號未知,但是很多博客沒有配置tomcat7-maven-plugin的版本卻沒有報錯。我們訪問tomcat7插件官網:http://tomcat.apache.org/maven-plugin.html,閱讀說明得知現在的tomcat7插件有多個版本:

因爲在學習尚學堂的idea課程教程中,老師使用的idea版本是2017年版本,所以沒有標註tomcat7插件的version標籤也不會報錯,推測這個問題的出現是idea軟件的版本問題。

我們在pom.xml文件中添加version標籤,選擇上述版本中的一個版本(這裏選擇2.2版本),就沒有問題了

<build>
        <plugins>
            <!--配置tomcat插件-->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <!--添加version字段,告訴idea插件的版本號,防止idea找不到對應插件報錯-->
                <version>2.2</version>
                <configuration>
                    <path>/</path>
                    <port>9090</port>
                    <uriEncoding>UTF-8</uriEncoding>
                </configuration>
            </plugin>
        </plugins>
</build>

結果1

問題得到解決

情形2

在上述配置解決後,發現maven指令tomcat7:run無法啓動hello_maven項目,但是將項目打包成war包部署到tomcat上則可以啓動項目並正常訪問,具體情況如下:

tomcat7:run命令運行的信息提示跳過沒有war包的工程,所以問題是項目在經過tomcat7:run命令啓動前沒有被打包成war包,而將項目部署到tomcat上時,項目是被打包成war包的。

解決2

由於我們的項目通過tomcat7:run命令啓動時,項目是沒有被打包成war包。所以要在pom.xml中的tomcat插件配置的configuration中添加ignorePackaging標籤,並標註爲true,告訴tomcat忽略war包檢查即可。

    <build>
        <plugins>
            <!--配置tomcat插件-->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <!--添加version字段,告訴idea插件的版本號,防止idea找不到對應插件報錯-->
                <version>2.2</version>
                <configuration>
                    <path>/</path>
                    <port>9090</port>
                    <uriEncoding>UTF-8</uriEncoding>
                    <!--添加忽略war包檢查標籤,則可以讓tomcat7:run指令正常啓動tomcat-->
                    <ignorePackaging>true</ignorePackaging>
                </configuration>
            </plugin>
        </plugins>
    </build>

結果2

問題得到解決

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