知识小罐头04(idea+maven+部署war包到tomcat 下)
上一节新建了一个基本的maven web环境,现在最快速度新建一下springmvc环境!
1.最快搭建springmvc环境
什么叫做最快,当然是怎么简单怎么来啦!由于内容都是很熟悉的东西,service层和Dao层的类和配置文件就不多说了,可以自行参考github项目里面的内容!
打开一个神奇的网站https://github.com/github,进入,搜索ssm,随便找个java项目



复制完了之后,接下来看一看目录结构如下,这个基本上也可以从上面那个项目里复制一下,稍微修改一下;




运行tomcat,浏览器输入url就可以看到结果,顺利的访问到WEB-INF中的jsp文件,说明我们成功了!

2.一些奇怪的问题(基于tomcat7.0.88):
我就说说我碰到的问题吧!我在启动Tomcat7的时候碰到了一些奇葩的错误,截图如下:



这几个错误很是莫名其妙,我在网上查了很多资料,
主要查了这个错误是什么导致的java.lang.UnsupportedClassVersionError: controller/MyController : Unsupported major.minor version 52.0。都是说那个Tomcat的ecj-x.x.x.jar这个jar包版本太低,要用4.x.x版本的,反正我是看了我的是ecj-4.4.2.jar,应该没错。
又查了这个错误javax.servlet.ServletException: Servlet.init() for servlet mvc-dispatcher threw exception,好像有很多人都说是什么controller中的@RequestMapping中路径重复了,我看了看我就一个路径,肯定也不是这个原因;
找了几个小时吧!不小心看到了Tomcat启动时候的一个地方,JRE_HOME是在jdk1.7,难道是这个不对吗?因为maven用的是apache-maven-3.5.4,绑定的jdk是1.8.xx版本,我IDEA用的也是jdk1.8,难道jdk不应该是高版本兼容低版本吗?

于是我进行了两种修改方法:
第一种,我将maven中绑定的jdk版本设置成1.7,于是启动应用输入url就不报错了,


第二种:不改maven,我们直接修改Tomcat的运行环境改为1.8,这个我也查了很多东西知道了,如下所示;


两种方法都行,我以第二种为例,启动tomcat,控制台就会看到运行环境变化!

错误总结:都是版本问题,所以自己在搭建环境的时候,一定要去查查版本对应关系maven什么版本,对应jdk什么版本,对应Tomcat又是什么版本,这些版本冲突问题最是日了狗了,因为你几乎发现不了,只能花费大量时间去慢慢盘查!贼坑!!!
于是我很机智的到github中看了看环境,然后我就默默地下载了Tomcat8,再将IDEA中绑定的tomca替换成Tomcat8,ok,一些正常!啥事没有!


其实为了上述的异常困扰了很久,很绝望!通常即使这个异常解决了,后面还会有很多的异常在等着你,几乎每一个异常都会困扰你几个小时,你要去排除各种jar包干扰,配置文件的配置或者修改tomcat环境,IDEA的一些设置。。。。有这么多事件还不如下载一个Tomcat8,一分钟就ok了。。。。。
3.应用部署到Tomcat8(注意,是Tomcat8版本)
方式一:
这个方式比较普通
首先把IDEA绑定的Tomcat7变成Tomcat8


打开控制台

有两个命令,自行选择;1。mvn install 2.mvn package
第一个命令在打包的同时,还会将打成的包放到maven本地仓库一份;第二个命令:只是进行打包,放在本项目的中
我就以mvn install为例,看到如下所示就成功了!


在IDEA的项目下面的target文件夹中可以看到:

将复制的war包丢到Tomcat的webapps目录中

启动tomcat服务器,就会解析我们的war包,然后就会多一个文件夹,然后我们的应用就跑起来了


这里一定要注意:通过这种方式部署到tomcat中,在浏览器访问的时候一定要带上项目名,因为一个tomcat可以部署很多个项目,你要访问哪一个项目哪一个路径一定要明确,不然就会出现404错误。这点和直接在IDEA上有着很大区别。
看我的url:http://localhost:8080/testssh/wyq123,这里testssh就是我们的项目名,wyq123是我在controller的访问路径,通过这个url就会跳转到WEB-INF里面的jsp文件夹里的jsp文件;
如果我们是在IDEA中启动tomcat,那访问路径就是http://localhost:8080/wyq123,和上面相差了项目名;

方式二:
方式二有点类似热部署一样,而且不需要你去复制war包到什么什么地方,多麻烦啊,你只需要指定你的web应用中的webContext目录所在就可以了;

首先删除tomcat8的webapps中的目录,然后到目录D:\java\apache-tomcat-8.5.35\conf\Catalina\localhost中,新建一个 项目名.xml的文件


打开这个配置文件,加上下图这句:

然后启动tomcat8,也可以访问jsp

知识小罐头04(idea+maven+部署war包到tomcat 下)的更多相关文章
- 知识小罐头03(idea+maven+部署war包到tomcat 上)
自学的的小伙伴第一就要用maven!自学的的小伙伴第一就要用maven!自学的的小伙伴第一就要用maven! 重要的事说三遍!maven本质上,其实就是一种目录的格式,没有什么特别的地方!而且,你可以 ...
- 如何在阿里云上部署war包到tomcat服务器
一. 准备工作:xshell和xftp 首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉 ...
- 如何在windows上部署war包到tomcat服务器
一. 什么是war包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将很多文件组合成一个压缩文件.war专用在web方面,一个war包可以理解为一个web项 ...
- linux系统部署war包,查看tomcat日志
1.部署war包app/tomcat/bin在tomcat/bin 目录下启动 .startup.sh,在启动过程中tomcat会对war包进行解压,形成相应的项目目录 执行命令:./startup. ...
- jenkins+maven+svn构建项目,及远程部署war包到tomcat上
要使用jenkins构建项目,当然要使用jenkins了,我使用的war版本的jenkins jenkins的官网 http://jenkins-ci.org/ 点击latest下载,但是可能因为天朝 ...
- 用Maven部署war包到远程Tomcat服务器
过去我们发布一个Java Web程序通常的做法就是把它打成一个war包,然后用SSH这样的工具把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署. 很显然,这样做不够方便,且我们 ...
- Jenkins+Git+Maven构建并部署war包到tomcat
主要思路:1.jenkins从git中拉取项目源码:jenkins使用maven构建并将生成的war部署到tomcat容器下. 环境:Centos7.Maven3.5.3.git(单机) 安装Git ...
- 170329、用 Maven 部署 war 包到远程 Tomcat 服务器
过去我们发布一个Java Web程序通常的做法就是把它打成一个war包,然后用SSH这样的工具把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署. 很显然,这样做不够方便,且我们 ...
- 第二章 部署war包到tomcat
以turbine为例. 一.部署 1.下载或者生成war包(从maven上下载war包,并改名字为turbine.war) 2.将turbine.war拷贝到$TOMCAT_HOME/webapps中 ...
随机推荐
- 树莓派.系统.官方下载中NOOBS和Raspbian的区别
树莓派官网(https://www.raspberrypi.org/)官方推荐ROM中主要的有2个: NOOBS---------------------------------- NOOBS 全称 ...
- JUC中AQS简介
AQS,在java.util.concurrent.locks包中,AbstractQueuedSynchronizer这个类是并发包中的核心,了解其他类之前,需要先弄清楚AQS.在JUC的很多类中都 ...
- 【bzoj1941】【Sdoi2010】Hide and Seek
---恢复内容开始--- Description 小猪iPig在PKU刚上完了无聊的猪性代数课,天资聪慧的iPig被这门对他来说无比简单的课弄得非常寂寞,为了消除寂寞感,他决定和他的好朋友giPi(鸡 ...
- BZOJ_1070_[SCOI2007]修车_费用流
BZOJ_1070_[SCOI2007]修车_费用流 Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同 的车进行维修所用的时间 ...
- XMR挖矿教程
XMR挖矿教程 XMR介绍 门罗币(Monero,代号XMR)是一个创建于2014年4月开源加密货币,它着重于隐私.分权和可扩展性.与自比特币衍生的许多加密货币不同,Monero基于CryptoNot ...
- 学习React Native必看的几个开源项目
学习React native ,分享几个不错的开源项目,相信你学完之后,一定会有所收获.如果还没有了解RN的同学们可以参考手把手教你React Native 实战之开山篇<一> 1.Fac ...
- python的 a,b=b,a+b 和 a=b b=a+b 的区别(经典)
刚刚我在学习python的时候,发现下面的这个赋值要把给绕晕了(思考了很久),所以我整理之后写下博文, 希望对未来的学弟学妹有帮助! 永远爱你们的! ----新宝宝 n,a,b=0,0,1 while ...
- C++ set用法以及迭代器用法
有关set的一些常用函数 1.begin() / end() 返回首/尾元素迭代器 2.rbegin() / rend() 返回尾/首元素反向迭代器,反向迭代器可以反向遍历容器的迭代器,从下面的程序已 ...
- HSTS 详解,让 HTTPS 更安全
随着互联网的快速发展,人们在生活中越来越离不开互联网.无论是社交.购物还是搜索,互联网都能给人带来很多的便捷.与此同时,由于用户对网络安全的不了解和一些网站.协议的安全漏洞,让很多用户的个人信息数据“ ...
- Vue.js 牛刀小试(持续更新~~~)
一.前言 这个系列的文章开始于今年9月从上一家公司辞职后,在找工作的过程中,觉得自己应该学习一些新的东西,从前几章的更新日期也可以看出,中间隔了很长的时间,自己也经历了一些事情,既然现在已经稳定了,就 ...