平常的开发我们都是通过IDE进行项目的部署,但有时候我们不得不进行手工部署(例如在Server上)。
手工部署分为以下几步:
第1步: 用maven打war包 (假如得到的war包名为: appkit-web.war)
mvn package
如果想打包过程中跳过测试,采用以下命令:
mvn package -Dmaven.test.skip=ture
第2步: 把war包拷贝到tomcat安装的webapps目录下
cp target/appkit-web.war ~/software/apache-tomcat-7.0.54/webapps/
第3步: 启动tomcat (我的tomcat的根目录为:/Users/aborn/software/apache-tomcat-7.0.54)
./bin/catalina.sh run
然后在浏览器中打开 http://localhost:8080/appkit-web/index.html
这里有个问题,它默认根目录是要加项目名的,如上加了appkit-web, 这样有些资源文件加载不出来(因为资源文件是以根目录为相对路径)。
要想修改这个根目录,只要修改Tomcat的server.xml配置文件(它在 conf/server.xml)
在<Host>与</Host>之间加上以下这句话
<Context path="/" docBase="appkit-web" debug="0" privileged="true"/>这个配置的path指的是根目录,docBase指的是war名。
这样只要在浏览器上打开:http://localhost:8080/index.html 就行了。
<!-- Tomcat Manager Context -->
<Context path="/manager" docBase="manager" debug="0"privileged="true"/>
path="" 为部署后运行的url路径,docBase为你的war的文件名。 第一次运行的时候,tomcat会自动解压war,生成path指定名称的网站。
这里docBase中的"manager"就表示war文件名称为“manager.war"
修改server.xml在tomcat下部署多个WEB工程
第一步:
server.xml 修改如下:
<Host name="localhost" appBase="WebRoot"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="F:\myeclipse8work\teset\WebRoot"
workDir="F:\java\tomcat-work" reloadable="true">
</Context>
</Host>
<Host name="zhangda" appBase="WebRoot"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="F:\myeclipse8work\hibernate\WebRoot"
workDir="F:\java\tomcat-work2" reloadable="true">
</Context>
</Host>
wordDir 是设置不同项目的缓存目录,不同的项目设置不同缓存目录。第二步:
在C:\Windows\System32\drivers\etc下找到hosts文件,修改如下内容:
127.0.0.1 localhost
127.0.0.1 zhangda
去掉前面的“#”。
第三步:
在浏览器输入:http://localhost:8080 可以访问 F:\myeclipse8work\teset\WebRoot 内容。
在浏览器输入:http://zhangda:8080 可以访问 F:\myeclipse8work\hibernate\WebRoot 内容。