2015-10-28 154 views
0

只需使用Maven webapp architype設置一個eclipse項目即可。我創建了一個servlet的文件,並且得到了src下加入到資源文件夾/主/ 當我運行的應用程序的Tomcat提供了一個錯誤:未找到Maven web項目servlet類

Error instantiating servlet class com.ABCompany.Demo.SampleDemo. java.lang.ClassNotFoundException: com.ABCompany.Demo.SampleDemo

該文件夾的src下/主/資源/ COM/ABCompany/Demo/SampleDemo.java

我的web.xml如下。

<web-app> 
<display-name>Demo Example</display-name> 
<servlet> 
<servlet-name>SampleDemo</servlet-name> 
<display-name>SampleDemo</display-name> 
<description></description> 
<servlet-class>com.ABCompany.Demo.SampleDemo</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>SampleDemo</servlet-name> 
<url-pattern>/SampleDemo</url-pattern> 
</servlet-mapping> 
<welcome-file-list> 
<welcome-file>index.jsp</welcome-file>  
</welcome-file-list>  
</web-app> 
+1

你有建成項目成功嗎?你看到目標文件夾嗎? – VedX

+0

maven/eclipse/Java的新手。我如何構建這個eclipse maven項目。我只是繼續打在服務器上運行。 – user275157

+1

http://stackoverflow.com/a/28734984/1878022首先按照這個答案,然後右擊runas-> maven build->目標=乾淨安裝 – VedX

回答

2

的問題閱讀:

The file is under the folder src/main/resources/com/ABCompany/Demo/SampleDemo.java

Java源文件,應在src/main/java

src/main/java/com/ABCompany/Demo/SampleDemo.java 

其他文件去,像性能,HTML/CSS文件,圖像,模板等。通常放置在src/main/resources。由於它們不需要編譯,只需將其複製到構建目錄中即可。所以它們可以用於運行應用程序或打包(創建jar)。

提示:軟件包名稱不應包含大寫字母,不得包含。所以prevered是com.abcompany.demo

提示:又讀How to create a Web Application Project with Maven它使用Maven原型,設置了這一切!

+0

這是eclipse/maven在webapp原型上給出的默認結構 - 當我創建一個servlet時,將這些文件放在resources文件夾下。 – user275157

+0

不知道你在哪裏閱讀,或者什麼爲你創建了初始設置。看到我更新的答案。另外閱讀一些爲web開發設置Maven項目的其他內容。 – Verhagen

1

我有同樣的問題。

我的解決方案是: 當創建項目時,請手動在src/main下創建java文件夾,這是因爲maven-archetype-webapp默認不會創建src/main/java。

Before: src/main 
After: src/main/java 

image:java folder manually created

當第一步是準備好就可以創建所有的servlet,你需要,請確保您創建了src/main/java下所有的類和servlet。

問題是因爲s​​ervlet是在src/main/resources下創建的,這意味着所有的.java文件都打包爲資源而不是.class編譯。