近期,在学习springMVC的项目,使用的是maven构建项目,但在eclipse运行的时候发现一直运行失败,于是了解在eclipse部署maven项目到tomcat的3种方式:
eclipse : photon, jdk 1.8
tomcat : 8.5.41
maven : 3.6.0
· 创建Maven project
· 项目存放路径
· 选择项目类型,webapp
· 填写项目坐标,在POM.xml中体现,Artifact ID是项目的ID。
· 修改pom.xml,填写需要下载的jar包。
· 生成代码后,项目右键 - Maven - update project,下载jar包。
· 开始写代码
在eclipse中看到项目文件有红色的×,有时候不影响运行。
另外,同一份项目文件也可以在idea打开,只是多了.idea这样的引导文件。
接下来,就是部署文件:
1.打war包到tomcat/webapps目录
· maven clean
整个target文件夹会被删掉
·maven install
target会生成springmvc09文件夹和springmvc09.war
· D:\Java\apache-tomcat-8.5.41\bin 运行 startup.bat,启动tomcat服务
·上传 springmvc09.war到在tomcat的web即可
· 管理页面,点击springmvc09即可进入页面
2. 使用tomcat-maven插件
用插件部署的原理一样,只是把maven和eclipse的配置文件设置好,不用手工部署,方便测试时部署,所以,接下来要配置几个关键的文件。
· 配置 Tomcat 的 D:\Java\apache-tomcat-8.5.41\conf\tomcat-users.xml 文件中的 标签,这是登录tomcat的账号和密码。
· 启动 tomcat bin 目录下的 startup.bat,启动tomcat,并能正常访问
http://localhost:8080/manager
· 配置 maven 的标签 添加子标签,通过标签让 maven 去登录 Tomcat 服务器。
D:\IDE\apache-maven-3.6.0\conf\settings.xml
tomcat8 admin admin
· eclipse配置 pom.xml
org.apache.tomcat.maven tomcat7-maven-plugin 2.1 http://localhost:8080/manager/text tomcat8 admin admin /springmvc
在eclipse运行以下命令:
· clean install,和方法1的作用一样,一样是生成一个.war包。
· tomcat7:deploy第1次部署执行,会从网上下载tomcat7的jar包。
· tomcat7:redeploy 第2次或以后需要重新发布执行
我用的是tomcat 8,但插件用的是tomcat7,是兼容的,网上提供的tomcat8的插件包反而问题多,需要配合其他组件使用。第一次运行的时候,会从网上下载tomcat7的jar包,然后用这些jar包上传文件。
3. 直接使用servers部署
· test下的目录编译到target/test-classes,其他目录编译到target/classes目录
有个坑,不加会一直加载不了代码:deployment assembly -> Add -> java build path entries -> maven Dependencies (默认路径 WEB-INF\lib)
· maven clean -> maven install -> target会生成springmvc09文件夹和springmvc09.war
· 右键servers中tomcat,add and remove...添加项目,启动tomcat即可。
这个方法适合在eclipse开发、调试时用。