開發調試階段,頻繁重啟外部 Tomcat 極其低效。tomcat7-maven-plugin 讓你在項目內內嵌 Tomcat,一條命令啟動、熱部署、甚至遠程發布到運行中的 Tomcat,極大提升開發體驗。
mvn tomcat7:run 即啟動,默認 localhost:8080/項目名。tomcat7:deploy/redeploy 直接推送到遠程/本地運行中的 Tomcat Manager。<build>
<plugins>
<!-- 編碼與編譯版本 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source><target>1.8</target><encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration><encoding>UTF-8</encoding></configuration>
</plugin>
<!-- 核心:tomcat7-maven-plugin -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!-- 遠程部署配置(可選) -->
<url>https://localhost:8080/manager/text</url>
<username>root</username>
<password>root</password>
<!-- 內嵌運行配置 -->
<port>8080</port>
<path>/Demo</path>
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- JSP 編譯依賴(provided 避免打包進 war) -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jsp-api</artifactId>
<version>7.0.47</version>
<scope>provided</scope>
</dependency>
</dependencies>
<role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="root" password="root" roles="manager-gui,manager-script"/>
| 命令 | 作用 |
|---|---|
mvn tomcat7:run | 內嵌啟動,阻塞控制台 |
mvn tomcat7:run -Dmaven.tomcat.port=9090 | 指定端口啟動 |
mvn tomcat7:deploy | 首次部署到遠程 Tomcat |
mvn tomcat7:redeploy | 熱更新遠程已部署應用 |
mvn tomcat7:undeploy | 卸載遠程應用 |
mvn tomcat7:run-war | 直接運行打包後的 WAR(驗證產物) |
profiles 區分 dev/test/prod 的 url/user/password/path。mvnDebug tomcat7:run 默認 8000 端口,IDE 連接即斷點調試。keystoreFile、keystorePass、httpsPort。<compileJsp>true</compileJsp> 打包時預編譯 JSP,提升首訪速度。tomcat9-maven-plugin 或直接用 spring-boot-maven-plugin。tomcat-users.xml 權限、Manager 應用是否啟用、IP 白名單(context.xml 的 Valve)。Compiler -> Build project automatically 才能熱加載。善用 tomcat7-maven-plugin,讓「改代碼 → 看效果」縮短到秒級,專注業務邏輯而非環境折騰。