8

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

现在我需要在只安装了 Tomcat 的(在线)服务器上发布/部署这个项目。如何在线发布/部署项目?我应该做任何特殊的构建吗?我应该上传哪些文件以及上传到哪里?

4

3 回答 3

9

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

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

如果您想将项目部署到远程 Tomcat 服务器,请将您的项目作为 WAR 存档并将其上传到 Tomcat 的 webapps 目录。然后您可能需要重新启动 Tomcat。但这是手动部署方式。

更好的选择是使用自动化构建工具(如Maven),它可以编译您的项目、运行单元测试、部署在 Web 服务器(本地或远程)等。

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

祝你好运 ;)

于 2013-09-22T11:40:50.110 回答
0

执行 mvn clean install,您将在 web 模块的目标目录中获得一个 .war 文件。将其复制并粘贴到 tomcat_home/webapps 目录并重新启动 tomcat。而已。现在,您可以在任何配置的端口(例如:)中访问它http://localhost:8080/<your webapp war name>。假设您的战争名称是 myapp.war,然后 tomcat 会将其提取到 webapps 中的 myapp 文件夹中。所以你的网址将是 http://localhost:8080/myapp

于 2013-09-22T11:33:04.500 回答
0

使用 maven deploy 命令,通常会由于各种原因而出错。如果您在 Unix/Linux 系统中工作,我建议在控制台上使用“rsync”方法。(您可以编写自己的 shell 脚本来轻松管理)。它不仅有助于毫无问题地部署,还有助于在重新部署时获得时间(仅上传更改/新文件)。因为 maven deploy / redeploy 将您的项目作为 jar/war 中的包上传。但是“rysnc”方法会一一上传您的项目文件。

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

1-您的项目建在目标文件夹中(Spring Tool Suite)

2-您可以通过 ssh 访问 tomcat

示例代码: (v_:可变前缀(可定制))

rsync -avz v_your_project_in_target root@v_ip:v_tomcat_name/webapps/v_project_name

(第二次分享)

于 2017-07-16T07:42:40.550 回答