簡體   English   中英

如何在Eclipse中針對Tomcat正確部署和構建項目?

[英]How do I properly deploy and structure projects in Eclipse against Tomcat?

我是一個相對較新的Java開發人員,被深深吸引,我通常的技能是Microsoft產品和C#。

但是我設法使用Restlet編寫了一個不錯的Web服務,並合並了Toplink並做了一些數據庫CRUD的工作,等等。

我是在Eclipse中針對Tomcat 5.5開發的。 我遵循了教程和示例,並設法將某些東西組合在一起。

我所有的jar文件都放在項目的WebContent / WEB-INF / lib目錄中-我很快意識到,當我將其導出為WAR文件並在Tomcat中進行部署時,它將這些jar文件與它一起存儲在應用程序本地。

很好,但是當您嘗試取消部署該應用程序時,它只是部分完成了它,因為Tomcat“堅持”了它正在使用的某些jar,例如Oracle JDBC和Toplink。 這是有道理的,因為Web服務正在使用這些jar,因為正在進行實時的Oracle連接。

因此,我認為我應該將所有這些jar放在一個公共位置,所有已部署的應用程序都可以訪問它們,我相信該文件夾是:

C:\\ Program Files \\ Apache Software Foundation \\ Tomcat 5.5 \\ common \\ lib

(以我為例)。 這是完全合理的,這是合乎邏輯的,因為您不希望Tomcat上的所有應用程序都引用相同的jar。 因此,我從項目lib文件夾中刪除了所有jar,並將它們放在common \\ lib目錄中。

現在,我的應用無法正常運行-無法在src中找到我的源代碼,這是我針對這些jar編程的自定義定制代碼。 僅當我打包源代碼並將其放在上述目錄中時,它才有效。 奇。

我顯然對類路徑和構建路徑以及所有這些東西感到非常困惑,並且因為我不是Java專家,所以一定弄錯了所有這些東西,因為我很容易承認我已經將許多東西弄混了-所以任何人都可以解釋用通俗易懂的方式對我來說,我應該如何構造項目以使其與Tomcat的公共文件夾中保存的jar一起使用。 還是網絡上有任何好的資源可以幫助我解釋我該怎么做。

希望這一切都有道理...

這是我當前項目的照片:

替代文字

聽起來好像您沒有在使用WTP Web項目。

如果您已經安裝了“ Eclipse IDE for Java EE Developers”風格的Eclipse,則WTP已經捆綁在其中。 否則,這里是其更新站點-> http://download.eclipse.org/webtools/updates

一旦安裝了WTP,您應該創建“動態Web項目”。 通常,我建議您僅在此處放置表示層(JSP,CSS,HTML),然后將所有純Java項目放入標准的“ Java”項目中,然后將其添加為對“動態Web項目”的依賴。

WTP可以在許多容器下運行Web應用程序,幸運的是,它支持Tomcat。 您將需要通過“窗口”->“首選項”->“服務器”->“運行時環境”對其進行配置。

一旦配置了運行時環境,就可以創建服務器運行時:

  1. 右鍵單擊“服務器”視圖。
  2. 選擇“新建”->“服務器”
  3. 選擇服務器類型:“ Tomcat v.5.5服務器”
  4. (可選)將服務器名稱更改為您認為合適的名稱
  5. 選擇服務器運行時環境:這是您先前配置的運行時環境
  6. 點擊“下一步”按鈕
  7. 將“ Dynamic Web Project”項目添加到“ Configured projects:”面板中
  8. 點擊“完成”按鈕

配置服務器后,您可以直接運行它,也可以將其置於調試模式。 依賴項目引用的所有源代碼將可用於調試。

注意:根據個人經驗,我不建議使用common / lib。 將您的Web應用程序依賴的所有jar放入其WAR文件。 如果您擔心依賴項跟蹤,請開始研究Maven和m2eclipse。

通常我把罐子放在$ CATALINA_BASE / shared / lib /
請閱讀本文檔以獲取更多說明,特別是“ 類加載器定義”部分。
復制了jar之后,還要重新啟動服務器。

轉到窗口>顯示視圖>其他>服務器>服務器,服務器選項卡將顯示在下方,其中包含控制台選項卡。 單擊您的服務器,然后單擊F3,這將打開服務器配置。
檢查服務器位置,並確保已選中“使用tomcat安裝”(控制tomcat安裝),然后單擊下面的“模塊”選項卡,它將顯示您已安裝的模塊,請確保該模塊存在或添加。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM