2017年8月27日 星期日

【J2EE】Tomcat設定與管理和Java 1.8的使用

怎麼在Eclipse中匯入Java SDK 1.8的方法應該算很基本,而且本篇不打算太集中在分享怎麼解決問題.......而是說明「你可能碰到了什麼問題」。



Java1.8在Tomcat7上無法正常使用,所以會有需要將自己的測試環境升級為Tomcat8。但其實現在都已經走到了Tomcat9了,就連Tomcat8都有8.0和8.5的分別。

如果下載時,下載到了8.5,但新增Server設定時卻選擇了8.0,很可能會有Version不符合的問題。(正確的訊息顯示為:「Unknown version of Tomcat was specified.」)


要使用Java 1.8,除了要有1.8的compiler外,個別專案的「Project facets」內的「Java」參數後面的設定也要有1.8的選項。

如果「Project facets」內的「Java」參數後面的設定根本沒有1.8可以選擇,那就表示目前設定的Server是Tomcat 7以下。

在下面這個視窗中選擇「Add」...(會開啟下一個視窗。)



 如果這裡頭的選項沒有「Apache Tomcat v8.0」,那就表示下載的Eclipse需要某些外掛。

不要因為自己下載的是官網最新版本就一定有內建這個外掛......因為沒有。


但外掛的部分解答版本就比較混亂。

最標準的解法就是下載「Eclipse Tomcat Plugin」,但這很可能手中使用的Eclipse版本已經安裝了,也就是說這個外掛有問題、所以需要尋求更近一級的解答。

接著一樣是要下載外掛「Eclipse JST Server Adapter」。

但這個外掛很奇妙的地方是它會針對不同的Eclipse版本推出獨立的外掛(有相同的主名稱、卻有不同的子名稱),所以要花點時間力氣找一下。




大致上就這樣。

2017年8月24日 星期四

【J2EE】新建專案發現沒有web.xml

這似乎是某個版本(Servlet 3.0)以後的J2EE才具備的功能。

新機制似乎是可以將web.xml改用annotation.java的方式實現,但以後有空再研究。

反正在專案上點右鍵、選擇「Java EE Tools」、再選擇「Generate Deployment Descriptor Stub」,就可以產生web.xml。

2017年8月23日 星期三

【J2EE TomCat】執行專案顯示404

注意!

下面寫的是指專案環境剛剛建好、還沒有實質上寫過任何一行程式碼的情況下就碰到404。

如果有額外使用什麼框架,例如Spring或Struct,這些步驟非常有可能一點意義也沒有。



這個問題可以統整成幾個步驟...

1.TomCat沒有正常啟動。

先在「Servers」(視窗)內找到正在使用的TomCat Server項目,然後在項目上點選右鍵選擇「Properties」。會看到下面這樣的視窗...注意「Location」後面的路徑,如果沒有指向Servers,就按一下「Switch Location」、接著「Apply」並「OK」離開這個視窗。




再回到「Servers」,點選Server項目後打開下面的視窗。
注意看到「ServerLocations」,如果沒有在第二項「Use Tomcat installation」,那應該就是問題所在了。


有時候「ServerLocation」會整個鎖起來,這是因為沒有把「Servers」中的Server項目徹底暫停。(必要的時候可能還必須刪除。然後重跑一次Define流程。)


2.設定完卻忘了把舊的設定刪除。

注意!如果步驟1不管用,可能要到這裡來把項目刪除。(不然重建就一點意義也沒有了。)
 



3.忘了指定正確的JSP「Runtimes」環境。(也不一定是專指JSP,反正某個需要設定Runtimes的地方設定錯誤。)


這步驟相較之下簡單,就是「Runtimes」中的Server選項沒打勾,所以有檔案無法正確編譯、也就無法執行。(「Runtimes」在畫面最右邊。)