2013-09-22 35 views
6

我开发了一个使用Spring MVC,Hibernate,MySQL,Maven和Tomcat的小型MVC项目。我可以顺利运行和测试应用程序(本地)。部署Spring MVC项目

现在我需要在只安装了Tomcat的(在线)服务器上发布/部署此项目。我如何在线发布/部署项目?我应该做什么特殊的构建?我将上传哪些文件并将其发送到哪里?

回答

6

有几种类型的开发选项可用。

通常使用localhost EAR(Exploded ARchive)类型的项目进行开发(因为您可以轻松地对servery进行热部署)。但是对于生产WAR(Web档案)(基本上它是相同的EAR档案,但使用ZIP算法压缩)。

如果要将项目部署到远程Tomcat服务器,请将项目作为WAR归档并将其上载到Tomcat的webapps目录。那么你可能需要重新启动Tomcat。但这是手动部署的方式。

更好的选择是使用自动生成工具(如Maven),它可以编译工程,运行单元测试,部署在Web服务器上(本地或远程)等

这一个是如何很好的例子通过使用Maven的Tomcat的Maven的插件部署Tomcat服务器上的项目:http://www.mkyong.com/maven/how-to-deploy-maven-based-war-file-to-tomcat/

祝你好运;)

0

做一个mvn干净安装,你会得到一个.war文件在你的目标目录的Web模块。 将其复制并粘贴到tomcat_home/webapps目录并重新启动tomcat。而已。现在,您可以在任何配置的端口上访问它(例如:http://localhost:8080/<your webapp war name>)。可以说你的战争名称是myapp.war,那么tomcat会将其提取到webapps中的myapp文件夹中。 所以你的网址将是http://localhost:8080/myapp

+0

为什么不'MVN清洁套装'而不是'安装'? – Bart

+0

也可以这样做,因为软件包阶段包含在安装中,我说过并且两者都能正常工作 – vigneshre

+0

由于'install'确实不只是包装应用程序,所以它不是首选的方法。除非你不能将这个Web应用程序作为依赖包含在其他项目中。 – Bart

0

Maven的部署命令,通常会得到错误的各种原因。 如果你在Unix/Linux系统下工作,我建议在控制台上使用“rsync”方法。 (你可以编写自己的shell脚本来轻松管理)。它不仅帮助部署没有问题,而且有助于在重新部署时(只上载更改/新文件)获得时间。因为maven部署/重新部署将jar/war中的项目上传为捆绑包。但是“rysnc”方法会逐个上传您的项目文件。

在使用它之前,你应该确定这两个条件。

1项目的生成目标文件夹中(春季工具套件)

2 - 你必须通过ssh访问到tomcat

示例代码:(V_:前缀是可变的(可定制))

rsync -avz v_your_project_in_target [email protected]_ip:v_tomcat_name/webapps/v_project_name 

(二分享)