1. 程式人生 > >eclipse配置tomcat,讓java web專案執行起來! Tomcat v9.0 Could not publish to the server. java.lang.IndexOutOfBoundsException

eclipse配置tomcat,讓java web專案執行起來! Tomcat v9.0 Could not publish to the server. java.lang.IndexOutOfBoundsException

做專案,搞開發。開發環境配置時第一步。只有環境搭好了,以後的事情才能順利進行!

這不需求來了,負一屏專案有新功能需要新增,臨時接手,要進行伺服器前端開發。這個專案是以前後臺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 &quot;%r&quot; %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。不吝賜教