2008-12-08 92 views
1

我剛從外部站點導入了一個WAR文件,該文件基本上是Eclipse IDE中的一個servlet(該項目在Apache-Tomcat上運行)。瞭解Eclipse中導入的WAR及其文件夾結構

當我導入它時,它有一個名爲的Web文件夾。所以這裏有一些我的新手問題:

  1. 我不確定這個文件夾的確切目的是什麼?它做什麼,爲什麼你會選擇在你的項目中使用它?

  2. 我看到它有一個名爲的文件夾Improted Classes和foobar.class裏面的文件 - 爲什麼?
    (這些似乎Web內容文件夾鏡像 - 雖然在這裏,因爲他們foobar.java您可以修改代碼。)

  3. 有引用過foobar.jar文件 - 這些也都是鏡像在WEB-INF/lib文件夾 - 爲什麼?

我知道這些都是基本類型的問題,但我剛開始使用Java和網站開發交手,所以道歉如果他們的聲音有點啞! - 順便說一句,如果有人知道任何良好的在線資源,以瞭解更多關於這樣的項目文件結構,然後讓我知道。我只需要儘快處理這個問題 - 因爲項目截止日期很快。

乾杯。

下面是截圖只是爲了幫助您可視化:

alt text

回答

2

我認爲這是來自'Project Explorer'視圖的屏幕截圖。它不顯示確切的文件夾和文件結構,增加了一些從項目元數據構建的糖果。

  • 要查看項目的真實結構,請嘗試切換到「導航」視圖。
  • 在一個WAR文件導入時,Eclipse基本上做了兩兩件事:
    • 創建一個新的Web項目和副本戰爭的內容,新的項目「的WebContent」子文件夾。
    • 基於WAR,它構造項目的元數據(.project和.classpath文件)。
  • 的是,WAR包含jar文件的'Web應用程序圖書館的部分顯示列表(在WEB-INF/lib目錄
  • 「進口類」(這也是我看到的第一次)似乎含有類在導入的WAR(WEB-INF/classes)中找到,爲此Eclipse無法找到任何相應的源文件。要解決此問題,請在項目中創建一個新的Java源文件夾,並將您現在在'firstResource'
1

在Eclipse中,如果您使用的是Java Web開發視圖,你可以完成以下任務:

  1. Tomcat服務器運行時提供servlet庫
  2. Java運行時
  3. 其他需要的庫

項目中的Web App庫複製第一個設置,以便您不需要在開發框中安裝本地Tomcat。

其餘的聽起來很亂。

您的src/JavaSource文件夾中包含原始Java文件。他們不應該在網頁內容 - 這就是你的HTML,圖像的JSP等

所以,一個典型的項目設置:

Project Name/ 
    JavaSource/ or src/ // holds all the Java Source Files, Servlets, Struts Actions 
    WebContent/   // Nice root folder to hold web content files 
     content files and folders 
     WEB-INF/  // Web App Config folder 
      lib/  // Libraries (but not tomcat ones) 
      web.xml 
      classes/ // Where your compiled Java goes, and configs (log4j.properties) 

有人把JSP WEB-INF裏面也一樣,它不需要在JSP文件狀態下可訪問,只能在Tomcat自行編譯的狀態下訪問。

0

它的簡單,eclipse提供了多視圖到您的項目結構。您正在查看的視圖肯定是Package Explorer視圖。在這個視圖中,前面有一個特殊圖標的所有東西都是幫助程序,可以通過簡化對外部庫(由計算機上的軟件提供或eclipse自身或其他項目)提供的特定內容來幫助您。

在eclipse中,進入菜單 - >窗口 - >顯示視圖 - >導航器 導航器視圖會告訴你項目的真實文件夾結構。

2

Web應用程序庫不是一個真正的目錄,而是Eclipse認爲是該項目的庫的列表。

一般來說,這包括在的WebContent /所有jar文件的WEB-INF/lib目錄/

有時,Eclipse中不再列出他們在Eclipse的Package Explorer中他們的真實目錄...但他們還在那裏如果你看另一個程序。

+0

但是它用於什麼?你可以不用它嗎? – Vidar 2008-12-09 09:08:49