2016-07-21 87 views
0

我是使用開源代碼的新手。我正在嘗試從git here構建和修改Servlet,但無法在eclipse中構建它並託管在tomcat服務器中。將克隆的Servlet部署到Tomcat

當克隆回購在這裏有

enter image description here

的web.xml文件是WEB-INF文件夾中的目錄結構,它只是太有點看不清楚,所以我剪裁它。

從我所有的閱讀中獲得這臺服務器的最好方法是在eclipse中創建一個空白的'Dynamic Web Project',然後將所有文件複製到它。

這樣做給你項目的以下目錄結構

enter image description here

我首先想到的是WEB-INF的全部內容從回購複製到新項目的WEB-INF文件夾。當我打造時,它沒有做任何可疑的事情。運行服務器,它會給我一個500 error: Error Instantiating Servlet Class com.gov.noaa.pfel.erddap.Erddap

它正在尋找你可以看到上面的Erddap類。我一直在web.xml中查找是否可以找到它,但我不認爲這是問題。

<servlet> 
    <servlet-name>ERDDAP</servlet-name> 
    <servlet-class>gov.noaa.pfel.erddap.Erddap</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>ERDDAP</servlet-name> 
    <url-pattern>/*</url-pattern> <!-- this works for ERDDAP and ERDDAP2 --> 
</servlet-mapping> 

是否需要將java文件複製到項目的src文件夾中?

編輯

如被@iwlagn建議我所做的一切,感動了所有的WEB-INF/classes中的src文件夾並

  • 下載 - >的WebContent /下載
  • 圖片 - > WebContent/images
  • public - > WebContent/public
  • WEB-INF/*(除了類) - > WebContent/WEB-INF

該項目構建但是我得到大量的錯誤。

enter image description here

是否有需要真實又邁進了一步?

+1

你需要引用的WebContent/WEB-INF/lib目錄的內容庫中引用,但我不記得如何做到這一點在Eclipse(我的IntelliJ用戶)。 此外,我會建議你使用Maven或搖籃,而不是簡單的Eclipse項目,因此Eclipse可以自動拾取所有依賴 – iwlagn

+0

@iwlagn我使用本教程做了一個Maven項目:http://crunchify.com/how-to-create使用Maven的,在月食-dynamic-Web的項目/難道我按照你與複製相同的步驟? – nhoughto

+1

Maven項目具有不同的結構,但日食同樣表現出來。如果是 - 只需執行相同的複製操作,省略WEB-INF/lib。如果不是,映射以下:WEB-INF /類 - >的src /主/ JAVA,WEB-INF/*(除類和IIb) - >的src /主/ web應用/ WEB-INF,下載 - >的src /主/ webapp,images - > src/main/webapp,public - > src/main/webapp。你還需要編輯您的pom.xml提供正確的依賴就像 org.slf4j SLF4J-簡單 1.7.20 相當於JAR WEB-INF/lib目錄/ SLF4J。罐子 – iwlagn

回答

1

您需要將所有內容從WEB-INF/classes移動到新項目的src中。此外,作爲目前爲止,我理解你的初始項目的結構,你需要從中移動文件到新的項目按照以下映射:

  • 下載 - >的WebContent /下載
  • 圖片 - >的WebContent /圖像
  • 公共 - >的WebContent /公共
  • WEB-INF/*(除類) - >的WebContent/WEB-INF

EDIT的WebContent/WEB-INF /鋰的內容乙方應爲項目庫