2010-10-12 38 views
1

我在eclipse中構建我的web應用程序以部署到Tomcat 6時使用了ant,並且在Tomcat 6版本樹中引用了servlet-api.jarel-api.jar,而不是將它們拉入到我部署的庫文件夾。Tomcat 6轉換爲Glassfish v3:servlet-api,el-api jars

我正在嘗試部署到Glassfish v3。我從www.java2s.com網站上取下了罐子。

  1. 這是得到它們的正確方式嗎?
  2. 我需要這樣做嗎?我在Glassfish內搜索和罐子不在那裏
  3. 如果我根本不需要這樣做,是否有另一種行動要遵循以確保相同的功能可用?

回答

4

見此問題和otherquestions你貼我有,你正在做的事情完全錯誤的感覺。這只是一個答案,應該讓它一切順利。

  • 你應該從未在classpath中轉悠具體servletcontainer的庫的單獨副本。

  • 你應該從來沒有在web應用程序的WEB-INF/lib中放置servletcontainer特定庫的副本。

  • 在像Eclipse這樣的IDE中,您應該從不在項目的構建路徑中分別添加servletcontainer特定的庫。

  • 在堅果:只是不要接觸servletcontainer特定的庫。甚至不要單獨下載它們。這是麻煩的普通配方。分離不同servlet容器的庫會導致類路徑中的衝突。 servletcontainer應該被下載並且被視爲它自己的整體。

  • 在Eclipse,整合servletcontainer(Tomcat或Glassfish的)時,只需添加它在服務器圖。

  • 要與特定servletcontainer(服務器)的動態Web項目,以便您可以編譯servlet和等等,你需要在項目屬性的有針對性Rumtimes部分選擇相關聯。然後,由於Eclipse的智能,一切都會自動進行。這也是在必要時更改servletcontainer實現的地方。當您創建一個全新的動態Web項目時,您可以從嚮導的服務器下拉列表中選擇所需的servletcontainer實施。

當你想創建一個WAR,只需右擊動態Web項目,選擇出口然後WAR文件。不需要單獨的螞蟻任務左右。

+0

BalusC,感謝您的積分。在最後一點上,我使用ant,因爲我將部署到網絡中的另一臺計算機上,因此容器的本地實例僅用於啓動和運行應用程序。我已經選擇了一個目標運行庫,因此給出了你在其他方面所說的內容,這些額外的庫僅僅是多餘的。 – volvox 2010-10-12 14:21:57