【小知识点】tomcat+maven+eclipse热部署路径

来源:互联网 发布:javascript格式化json 编辑:程序博客网 时间:2024/06/05 15:56

我们知道使用maven中的tomcat插件可以实现热部署,具体的步骤就不多说了,但是有一个小知识点觉得自己有必要记住:
在项目pom文件的配置:

<build>  <plugins>       <plugin>         <groupId>org.apache.tomcat.maven</groupId>          <artifactId>tomcat7-maven-plugin</artifactId>          <version>2.2</version>          <configuration>            <url>http://localhost:8080/manager/text</url>            <path>/</path>            <server>tomcat</server>            <username>tomcat</username>            <password>123456</password>         </configuration>        </plugin>      </plugins></build>

url节点如果是本地的话值都是固定的。
path节点如果不设置的话那么项目时部署到wepapps目录(和 ROOT文件夹平级),访问的时候这样子:
http://localhost:8080/项目名.
如果按照上述设置,那么访问时候这样子:
http://localhost:8080/.
tomcat目录下中的webapps目录下默认是有一个ROOT文件夹的,上述的path路径直接是/的话项目会在webapps目录下生成一个新的ROOT文件夹,也就是会覆盖原来的ROOT文件夹,所以maven命令是redeploy而不是deploy.
如果path路径是/项目名,那么访问的时候这样子:
http://localhost:8080/项目名(和不设置path值一样,但是不知道项目死是部署到ROOT文件夹下还是平级,待实践验证。经验证,path中的/代表ROOT目录,所以项目应该是部署在ROOT目录下).

然后实现热部署有一个前提就是maven需要获得tomcat的权限(安全考虑),所以必须设置tomcat的用户名和密码,在tomcat的配置文件中设置,然后再在项目的pom文件中获得tomcat权限.

另外可以结合部署程序集来看.
注意:pom文件中的部署位置是针对使用maven的部署命令时(maven的tomcat插件,可以不需要tomcat服务器)有效,而部署程序集deployment assembly是使用tomcat服务器(非maven的tomcat插件)有效。别混淆了.

0 0
原创粉丝点击