方法1:常规方法,将项目拷贝到tomcat的webapps目录下,tomcat在启动时会自动发布该目录下的项目
方法1:通过eclipse发布,首先在eclipse中配置tomcat服务器,偏好设置->Servers->Runtime Environment。然后在项目上右击,选择run configurations-> run as server application。
方法2:使用maven发布项目到tomcat服务器,这种方式的好处是可以将项目发布到任意的网络可访问到的tomcat服务器。具体方法如下:
- tomcat的配置
编辑tomcat-user.xml,添加一个role,并赋予相应的权限
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
- maven配置
跳转到maven安装目录,编辑conf/settings.xml文件,
<server>
<id>tomcat</id>
<username>admin</username>
<password>password</password>
</server>
- pom.xml文件配置
在pom.xml文件的<plugin>
节点作如下配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<!-- 注意此处的url -->
<url>http://localhost:8080/manager/text</url>
<server>tomcat</server> <!-- 此处的名字必须和setting.xml中配置的ID一致-->
<path>/mavenProject</path> <!-- 此处的名字是项目发布的工程名-->
</configuration>
</plugin>
发布:
- 通过命令行运行:mvn tomcat7:deploy
在eclipse中,在web项目上右键,选择maven build, 在Goals中填写运行方式,如tomcat:redeploy。注意这里不可以使用deploy,因为tomcat服务器已经启动
其中url里面填写的是http://localhost:8080/manager/text,这里涉及到了tomcat的项目的动态发布,即不关闭tomcat服务器而发布web项目到tomcat服务器,这是tomcat提供的一种机制。该url定位到了tomcat服务器预先启动的一个Tomcat Manager Web 应用的绝对路径。对应$TOMCAT_HOME的webapps/manager,查看其web.xml文件可以看到
<servlet-mapping>
<servlet-name>Manager</servlet-name>
<url-pattern>/text/*</url-pattern>
</servlet-mapping>
也可以通过tomcat:run-war,此时不需要预先启动tomcat服务器。