国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

阿里云服務(wù)器低jdk版本配置多項(xiàng)目

2019-11-06 09:33:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前兩天要將一個(gè)新項(xiàng)目部署到阿里云服務(wù)器上,過(guò)程中遇到好多困難,可惜當(dāng)時(shí)沒有做好記錄,沒有把具體遇上的異常記下來(lái)?,F(xiàn)在趁著還沒忘完過(guò)程,趕快先寫下來(lái),希望能節(jié)約以后我和遇到相同問(wèn)題的人的摸索時(shí)間。

由于遇上了多方面的問(wèn)題,不能針對(duì)某一專題進(jìn)行講解,所以我將整個(gè)流程講一遍,遇到的問(wèn)題都會(huì)一一講出。

我項(xiàng)目的開發(fā)環(huán)境以及開發(fā)工具如下:

jdk1.80111,tomcat8.5

struts2.5,hibernate5.10,sPRing4.23

數(shù)據(jù)庫(kù)MySQL5.3

現(xiàn)在難點(diǎn)在于公司的官網(wǎng)也部署到了這個(gè)服務(wù)器上,所以不能隨便更改阿里云上的開發(fā)環(huán)境,也不能隨便停止上面的項(xiàng)目。

所以我現(xiàn)在要做的是同一個(gè)tomcat設(shè)置多項(xiàng)目

阿里云服務(wù)器上的開發(fā)環(huán)境如下:

jdk1.6u43,tomcat7.072

我直接將項(xiàng)目放到webapps目錄下發(fā)現(xiàn)不行

在網(wǎng)上查了查,tomcat的配置修改如下:

配置文件在tomcat的conf目錄的server.xml

1.

	<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

的post由8080改為80,阿里云上的配置之前已經(jīng)改過(guò)了,所以我這一項(xiàng)不用再改。

2.(接下來(lái)網(wǎng)上說(shuō)

	<Engine name="Catalina" defaultHost="localhost">這一項(xiàng)要改,但我親測(cè)這一項(xiàng)不用改) 的localhost改為域名如www.xxx.com(注意,帶www和不帶訪問(wèn)時(shí)的網(wǎng)址也是不一樣的)

appBase改為項(xiàng)目所在地。我把項(xiàng)目A放到d:/下面,(注意,我開始直接放的時(shí)候查看日志發(fā)現(xiàn)報(bào)錯(cuò),必須將項(xiàng)目放在ROOT文件夾下面)

即項(xiàng)目目錄是:

d:/A/ROOT

web-inf

...

這樣的結(jié)構(gòu)。

別的不用改,這樣就配置好了。

重啟tomcat(步驟:tomcat bin目錄下先用shutdown.bat關(guān)閉tomcat,再用startup.bat啟動(dòng)),

tomcat窗口一閃而過(guò),查看日志發(fā)現(xiàn)報(bào)錯(cuò),信息是socket bind failed之類的信息錯(cuò)誤碼[730048]。這是由于端口占用導(dǎo)致的重啟失敗。在控制臺(tái)cmd使用netstat -ano,發(fā)現(xiàn)80端口確實(shí)被占用,不過(guò)pid為0.這讓我怎么kill。估計(jì)是之前tomcat shutdown時(shí)候沒關(guān)閉干凈。

等了一會(huì)兒,端口占用解除,重啟tomcat。

本以為見證奇跡的時(shí)刻到了。結(jié)果又報(bào)錯(cuò)了。

發(fā)現(xiàn)spring注入sessionFactory失敗。

順著日志向下查,發(fā)現(xiàn)由Unsupported major.minor version 52.0造成。這是由于我項(xiàng)目的jdk版本高,而環(huán)境的jdk版本低造成的。

我重新在我電腦上配置了與服務(wù)器上相同的環(huán)境,重新編譯。由于eclipse沒有換,默認(rèn)的編譯器還是1.8.這個(gè)需要修改,從eclipse項(xiàng)目的properties里面找到java compiler由1.8換為1.6.重新編譯。

您猜怎么著?又報(bào)錯(cuò)啦!

這次是Unsupported major.minor version 51.0.報(bào)錯(cuò)的是struts的庫(kù)。

我猜是struts2.5不支持jdk1.6。所以又下載了struts2.3,配置,完成后還報(bào)錯(cuò)。

這次是找不到org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

原來(lái)struts2.5和2.3在web.xml里面的配置的filter不一樣??匆幌掳夸浗Y(jié)構(gòu)。發(fā)現(xiàn)struts2.3的包目錄中間多了個(gè)ng。

另外struts.xml里還有一些配置需要改。

修改后運(yùn)行,又報(bào)錯(cuò)了。

這次是由于jdk1.6對(duì)于一些后面的新特性不支持。比如,我方法返回類型是int的但實(shí)際返回時(shí)serilaizable的類型在jdk1.6里不能強(qiáng)制轉(zhuǎn)換為int。將返回值強(qiáng)轉(zhuǎn)成Integer就可以了。

另一個(gè)就是jdk1.6里new ArrayList<>()這樣的<>里不能為空,添加上就好了。

重新運(yùn)行,這次可以了。

項(xiàng)目部署到服務(wù)器上,修改數(shù)據(jù)庫(kù)密碼等配置,重啟,運(yùn)行。

登錄阿里云,到管理控制臺(tái)頁(yè)面,找到域名這項(xiàng),將自己的域名解析到上面,通過(guò)審核后,項(xiàng)目就可以在外網(wǎng)訪問(wèn)了。

成功,Cheers!

(我把期間的一些重點(diǎn)用加重字體標(biāo)了一下,希望對(duì)大家閱讀有幫助)


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 漳平市| 横山县| 萍乡市| 拜泉县| 广南县| 南充市| 七台河市| 白银市| 仲巴县| 宣化县| 高阳县| 麻阳| 兴文县| 隆昌县| 且末县| 宽甸| 遂平县| 西丰县| 凤冈县| 高雄县| 涟水县| 鹤壁市| 双桥区| 康乐县| 台南县| 锦屏县| 犍为县| 舒城县| 安徽省| 萝北县| 隆昌县| 东丰县| 乃东县| 德化县| 时尚| 万山特区| 永宁县| 西安市| 大邑县| 华坪县| 浠水县|