阿里云服务器低jdk版本配置多项目
来源:互联网 发布:淘宝商城品牌旗舰店 编辑:程序博客网 时间:2024/06/05 05:15
前两天要将一个新项目部署到阿里云服务器上,过程中遇到好多困难,可惜当时没有做好记录,没有把具体遇上的异常记下来。现在趁着还没忘完过程,赶快先写下来,希望能节约以后我和遇到相同问题的人的摸索时间。
由于遇上了多方面的问题,不能针对某一专题进行讲解,所以我将整个流程讲一遍,遇到的问题都会一一讲出。
我项目的开发环境以及开发工具如下:
jdk1.80111,tomcat8.5
struts2.5,hibernate5.10,spring4.23
数据库:mysql5.3
现在难点在于公司的官网也部署到了这个服务器上,所以不能随便更改阿里云上的开发环境,也不能随便停止上面的项目。
所以我现在要做的是同一个tomcat设置多项目
阿里云服务器上的开发环境如下:
jdk1.6u43,tomcat7.072
我直接将项目放到webapps目录下发现不行。
在网上查了查,tomcat的配置修改如下:
配置文件在tomcat的conf目录的server.xml
1.
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
的post由8080改为80,阿里云上的配置之前已经改过了,所以我这一项不用再改。
2.(接下来网上说
<Engine name="Catalina" defaultHost="localhost">
这一项要改,但我亲测这一项不用改) 的localhost改为域名如www.xxx.com(注意,带www和不带访问时的网址也是不一样的)
appBase改为项目所在地。我把项目A放到d:/下面,(注意,我开始直接放的时候查看日志发现报错,必须将项目放在ROOT文件夹下面)
即项目目录是:
d:/A/ROOT
web-inf
...
这样的结构。
别的不用改,这样就配置好了。
重启tomcat(步骤:tomcat bin目录下先用shutdown.bat关闭tomcat,再用startup.bat启动),
tomcat窗口一闪而过,查看日志发现报错,信息是socket bind failed之类的信息错误码[730048]。这是由于端口占用导致的重启失败。在控制台cmd使用netstat -ano,发现80端口确实被占用,不过pid为0.这让我怎么kill。估计是之前tomcat shutdown时候没关闭干净。
等了一会儿,端口占用解除,重启tomcat。
本以为见证奇迹的时刻到了。结果又报错了。
发现spring注入sessionFactory失败。
顺着日志向下查,发现由Unsupported major.minor version 52.0造成。这是由于我项目的jdk版本高,而环境的jdk版本低造成的。
我重新在我电脑上配置了与服务器上相同的环境,重新编译。由于eclipse没有换,默认的编译器还是1.8.这个需要修改,从eclipse项目的properties里面找到java compiler由1.8换为1.6.重新编译。
您猜怎么着?又报错啦!
这次是Unsupported major.minor version 51.0.报错的是struts的库。
我猜是struts2.5不支持jdk1.6。所以又下载了struts2.3,配置,完成后还报错。
这次是找不到org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
原来struts2.5和2.3在web.xml里面的配置的filter不一样。看一下包目录结构。发现struts2.3的包目录中间多了个ng。
另外struts.xml里还有一些配置需要改。
修改后运行,又报错了。
这次是由于jdk1.6对于一些后面的新特性不支持。比如,我方法返回类型是int的但实际返回时serilaizable的类型在jdk1.6里不能强制转换为int。将返回值强转成Integer就可以了。
另一个就是jdk1.6里new ArrayList<>()这样的<>里不能为空,添加上就好了。
重新运行,这次可以了。
项目部署到服务器上,修改数据库密码等配置,重启,运行。
登录阿里云,到管理控制台页面,找到域名这项,将自己的域名解析到上面,通过审核后,项目就可以在外网访问了。
成功,Cheers!
(我把期间的一些重点用加重字体标了一下,希望对大家阅读有帮助)
- 阿里云服务器低jdk版本配置多项目
- 阿里云服务器JDK版本升级
- 如何针对多项目切换jdk版本
- Xcode 配置git 多项目版本控制
- 阿里云服务器基础配置详解(一)搭建JDK
- 配置(Linux、JDK、Tomcat、nginx)阿里云ecs服务器
- centos版本阿里云服务器安装naginx以及相关配置
- 阿里云服务器配置
- 配置阿里云服务器教程(安全组,连接服务器,jdk+tomcat+mysql)
- 阿里云服务器【ubuntu】安装jdk
- 阿里云服务器【ubuntu】安装jdk
- 阿里云服务器【ubuntu】安装jdk
- 阿里云服务器 mysql + jdk +vsftp +tomcat
- 阿里云服务器centos 安装jdk tomcat
- 阿里云Linux服务器安装JDK
- 阿里云服务器部署mysql、tomcat、jdk
- 阿里云服务器ECS安装JDK
- 阿里云服务器CentOS6.8安装JDK
- 构建Docker平台【第一篇】环境准备
- Great Classical Musics For All of U.
- LeetCode 2. Add Two Numbers
- 打造黑苹果(六)设置无线网卡上网
- JavaWeb之JSP
- 阿里云服务器低jdk版本配置多项目
- Leetcode解题笔记(5)
- 对SolrCloud集群Collection进行手动二次Sharding
- Codeforces 779D String Game 二分
- sudo权限
- plist文件操作
- SolrCloud使用教程、原理介绍
- 类和继承
- 样式化加载失败的图片