maven 热部署成功案列

时间:2022-03-03 13:12:16

首先配置tomcat-user.xml,这个文件是在tomcat的conf文件夹下面

</tomcat-users>前添加这段

<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="admin,manager,manager-gui,admin-gui,manager-script,manager-jmx,manager-status"/>

  然后在maven的配置文件setting.xml中  </servers>前添加,注意ID号,后面会用到

<server>
       <id>admin</id>
       <username>admin</username>
       <password>admin</password>
    </server>

 然后

参考http://www.cnblogs.com/JAYIT/p/5578406.html这个配置

接下来是配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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>ee</groupId>
  <artifactId>mm</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging> <!-- 用war打包-->
  <build>
  <plugins>
      <!-- 第一种方式: apache官方tomcat插件,支持deploy -->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
        <configuration>
          <url>http://localhost:8080/manager/text</url>
          <server>admin</server> <!-- 注意这个admin和之前maven的serverID可以不一致 -->
        </configuration>
      </plugin>

	</plugins>
</build>
</project>

 项目结构如下:

maven 热部署成功案列 

注意,maven要改成web项目才行。。。。

注意是名字是webapp,建工程的时候注意用war而不是用jar,如果是war的话也不用改project facets。

注意:maven打包成war时,报错:Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project web_nanchang: Error assembling WAR: webxml attribute is required 
原因:找不到web.xml,但是项目中明明有这个文件,在WebContent/WEB-INF/文件夹下,就是识别不了
解决方法:
需要在pom.xml文件中,加上maven-war-plugin插件配置
在<build>节点中增加:

<plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <webResources>
                    <resource>
                        <directory>WebContent</directory>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
    </plugins>

之前的代码已经添加进去了。

如果项目中原本没有web.xml文件,就需要加上下面的配置:

<plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
    </plugins> 

  

如果出现404错误,注意先把maven项目改成web项目。点击项目---->鼠标右键---->properties---->project facets---->将java选项的1.5改成你需要的jdk版本(我的是1.7)---->去掉Dynamic Web Module选项----->apply----->OK---->再到properties---->project facets---->选上Dynamic Web Module选项----->apply----->OK

然后点击项目名

maven 热部署成功案列