做項目,搞開發。開發環境配置時第一步。只有環境搭好了,以后的事情才能順利進行!
這不需求來了,負一屏項目有新功能需要添加,臨時接手,要進行服務器前端開發。這個項目是以前后台java人員進行開發的。都是jsp頁面,那個叫心塞的啊,看的一臉不爽。但是,工作還得繼續,沒接觸過的,就得去趟趟,試試水。
把項目clone下來,用eclipse打開,發現一大把坑正在襲來。那個項目旁邊的紅色xxoo都在告訴你,環境出現問題了,你得慢慢解決了!
首先從后台人員那得到消息:1、此項目的jdk版本是1.7;2、使用的是tomcat服務器啟動
java項目就是這樣,每個項目用的jdk版本各不相同,而且你改變jdk版本,可能對你的項目造成影響,不能編譯運行下去也是常有的問題。所以,還是按照版本來,不想走彎路。
一、首先就是修改項目的jdk版本
本電腦的java環境是更新過的,現在的jdk版本是1.8,查看方法:
Microsoft Windows [版本 6.1.7601] 版權所有 (c) 2009 Microsoft Corporation。保留所有權利。 C:\Users\JLB3610>java -version java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) C:\Users\JLB3610>
修改項目的jdk版本有蠻多方法,網上一查很多,我就用了比較簡單的一種方法:
二、下載tomcat和部署項目到tomcat上
1、下載tomcat
進入官網:https://tomcat.apache.org/download-90.cgi ,選中與你系統匹配的包,我的電腦是window7 64位,下載完成后解壓。我的解壓到了 D:\apache-tomcat-9.0.14目錄。
2、部署項目
點擊你選中的項目,然后 window->Show view ->Servers
如果你這里顯示的是上圖所示,沒有可用的服務,需要點擊添加新的服務。如果有服務,但是不是你所需要的tomcat服務,則需要將它刪除。
現在我們就先添加新的服務:
添加成功后,你就為你的項目添加了tomcat服務器了,如下圖所示:
如果一切水到渠成,這個時候你只需要啟動服務器就可以打開你的項目頁面了。java項目需要編譯后才能運行,而編譯有手動編譯和自動編譯,eclipse好像是進行自動編譯的。我的項目clone下來之后好像就自動進行編譯了。我也不是很確定,剛接觸沒有搞明白。但是為了確認是不是進行編譯了,自己進行了手動編譯。
點擊Project -> Clean,這個就是手動編譯的操作,會刪除再進行編譯。
3、啟動服務器
選中生成的tomcat v9.0 Server at localhost——右鍵——Start
能啟動服務器,但是eclipse默認運行后會部署到一個叫做wtpwebapps的文件夾,若想將默認文件夾改成Tomcat目錄下的webapps(為了方便在eclipse外直接用瀏覽器和Tomcat發布),可以按以下步驟修改:
- 停止eclipse內的Tomcat服務器(stop)
- 刪除該容器中部署的項目(add and remove)
- 清除該容器相關數據(clean)
- 打開tomcat的修改界面(open)
- 找到servers location,選擇第二個(User tomcat Installation)
- 修改deploy path為webapps
- 保存關閉(ctrl+s)
- 123必須操作,否則下面的步驟會被置灰,無法操作。
然后還是把項目通過add and remove操作添加到tomcat服務器下。添加成功之后,最后是重啟一下eclipse。
重啟完eclipse之后,選中生成的tomcat v9.0 Server at localhost——右鍵——Start
開啟服務器之后,輸入 http://localhost:8080/ ,如果看到了apache tomcat的界面,說明你配置成功了。
但是你的項目不是在http://localhost:8080/這個路徑下,到底是什么路徑我也嘗試了很久,最后歪打正着,在tomcat的解壓目錄D:\apache-tomcat-9.0.14\下的conf文件中,找到了server.xml文件,打開之后在Host標簽處發現了自己項目的Context
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/> <Context docBase="synthadm" path="/synthadm" reloadable="true" source="org.eclipse.jst.jee.server:synthadm"/></Host>
然后抱着嘗試的心態輸入 http://localhost:8080/synthadm,成功打開了項目登錄頁面。
4、出現的啟動服務器錯誤:Tomcat v9.0 Could not publish to the server. java.lang.IndexOutOfBoundsException
解決方法可以看這篇文章:https://www.cnblogs.com/zengfp/p/10144909.html
三、總結
在着手開發一個項目的時候,搭建環境需要的是耐心和不斷的踩坑突破。盡管自己不熟悉某一方面,但是嘗試着,慢慢去了解,問題還是可以慢慢解決的。
跨過每一個小坑,讓自己每天都進步一點點!您的點贊是我前進的鼓勵!希望你不要吝嗇哦。個人博客網址:https://www.zengfanping.com。不吝賜教