用慣了VS,再用Eclipse,完全有一種從自動擋到手動擋的感覺啊。
很多同學在Eclipse下開發web項目,每一次修改代碼,看效果的時候都有右鍵項目->Run as -> Run on server,然后慢吞吞的打開Eclipse的內建瀏覽器,顯示如下一個界面,讓人看起來分外憂郁!
在網上查了一圈,其它的方式基本都在教大家將項目發布到tomcat目錄的webapp目錄下,雖然比默認方式要好些,但是http://localhost:8080/InskyScheduleCenter/之類的url真讓人蛋疼,好好的一個項目被作為一個目錄存在,如果一些頁面資源文件還是用的相對路徑方式來寫,那調整頁面的顯示更讓人火大,有沒有一種簡單的部署方式呢,就像VS里一樣,選擇publish,文件就自動一個個copy到指定目錄,然后在瀏覽器中敲起url就訪問呢,網上找了一圈,實在沒找到,我自己搗鼓了一下午,終於找到了方法,特此分享給大家。
下邊我們來一步步開始:
-
Tomcat配置
打開你的tomcat目錄下的conf\server.xml文件,首先添加自己本地的虛擬站點,呃,直接搶80端口,用起來方便。
Server.xml中本來默認存在一個service節點,照着copy一份,放到原service節點之下。
<Service name="ScheduleCenter"> <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/> <Connector port="18580" protocol="AJP/1.3" redirectPort="8443"/>
<Engine defaultHost="www.ScheduleCenter.com" name="ScheduleCenter">
<Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm>
<Host appBase="webapps" autoDeploy="true" name="www.ScheduleCenter.com" unpackWARs="true"> <Alias>www.ScheduleCenter.com</Alias> <Context docBase="E:\publish\tomcat\wtpwebapps\InskyScheduleCenter" path="" reloadable="true"/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log." suffix=".txt"/>
</Host> </Engine> </Service> |
按如上的配置,監聽80端口,然后配置域名映射www.ScheduleCenter.com ,將這個網站的目錄指向E:\publish\tomcat\wtpwebapps\InskyScheduleCenter。具體tomcat的站點配置可以另寫一篇文章了,有興趣的同學可以去查其它資料,這里就不跑題扯遠了。
-
Eclipse配置
首先我們已經有一個javaweb網站了,至於網站怎么寫,我們這里也不關注。
在項目上右鍵->Run as -> Run on server,按照老方式搞一個tomcat服務器,也沒啥說的,注意服務器版本jre什么的版本選對。
然后Finish,這個server就可以了,這是大家都熟悉的eclipse默認run站點配置。
下邊,我們來做一些改變,在這個server run起來的情況下,打開server面板。
點擊下邊那個InskyScheduleCenter,右鍵remove,然后在上邊的localhost(2)上,郵件,選擇open,彈出如下對話框:
注意,如果此時下邊的那個InskyScheduleCenter沒被remove,或者server沒有處於start的狀態,這個面板的所有選項都是灰色,不可操作。
此時注意,選擇圖中紅框所示的單選框,表示將項目發布自己指定的目錄下,在下邊的兩個文本框中,分別填入server的路徑和部署目錄,如圖所示,做完操作后,ctrl + s保存。
然后再在項目上右鍵->Run as -> Run on server,ok,此時可以看到項目已經被發布到E:\publish\tomcat\wtpwebapps目錄。
如果有時候發布目錄點進去發現缺少文件啥的,可以先在server面板先選擇clean,再選擇publish即可。
以上,是第一次需要執行的操作。
之后,我們在eclipse中更改代碼,站點的狀態就會變成RePublish,如果設置了自動同步,那它會很快變成Synchronnized,如果沒自動同步,手工右鍵選擇publish就能將代碼重新部署到我們的E:\publish\tomcat\wtpwebapps目錄中。
-
更改host文件
更改windsow的host文件,建立本地站點映射
127.0.0.1 www.ScheduleCenter.com
-
訪問瀏覽器
關掉eclipse中的tomcat服務,啟動tomcat服務,我是用的xampp
跑起來后,在瀏覽器中鍵入url,即可訪問網站。
此時,我們只要在eclipse中的代碼有所更改,只需要在【服務】面板的server上,看到站點的狀態是RePublish,右鍵選擇publish即可將更新的代碼部署到站點,然后刷新網頁即可看見最新的改動。