zoukankan      html  css  js  c++  java
  • 知识小罐头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:javaapache-tomcat-8.5.35confCatalinalocalhost中,新建一个 项目名.xml的文件

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

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

       

  • 相关阅读:
    每日日报2021.4.14
    每日日报2021.4.13
    每日日报2021.4.12
    每日日报2021.4.9
    每日日报2021.4.8
    每日日报2021.4.7
    每日日报2021.4.6
    每日日报2021 4/22
    每日日报2021 4/21
    每日日报2021 4/20
  • 原文地址:https://www.cnblogs.com/wyq1995/p/10128935.html
Copyright © 2011-2022 走看看