2012-07-25 48 views
24

當我使用如下代碼在eclipse Dynamic Web Projectservlet,就像這樣:日食 - 的.jar添加到動態Web項目

@WebServlet("/CreateCustomerServlet") 
public class CreateCustomerServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    private void test() throws SQLException, ClassNotFoundException { 
     // use the JAR ... 
     Class.forName("com.mysql.jdbc.Driver");//here the exception 
    } 
} 

它拋出異常:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

在line:

Class.forName("com.mysql.jdbc.Driver");

在動態Web項目的構建路徑,我添加的jar:

mysql-connector-java-5.1.21-bin.jar

我添加的文件夾的快照,你可以看到它是必需的罐子 -

enter image description here

回答

33

如您的屏幕截圖所示,mysql jar不會出現在Web App Libraries節點下。將該jar粘貼到WebContent/WEB-INF/lib中,並且它會自動添加到構建路徑and到webapp的運行時類路徑(它將出現在Web App庫下)。

+0

感謝您的回答! – newbie 2013-09-26 21:40:37

+2

非常感謝。你救了我們在Hackathon – gkiko 2013-12-22 00:58:08

+0

這工作,我也面臨同樣的問題,有動態網站項目的構建路徑的一些問題? – 2014-07-19 11:59:47

1

編譯時間&運行時是兩件不同的事情。你現在添加的東西只是編譯時間&的構建目的而已。運行時服務器嘗試加載該類。將同樣的jar添加到項目lib文件夾中(它將與WAR一起打包並在運行時可用於服務器)。

2

嘗試這樣做:

請在proyect的根目錄下一個名爲lib目錄,並把該.jar它。

在WEB-INF目錄中,建立到lib的鏈接。

現在,該jar將出現在WebbApp庫下。

23

剛纔我解決了這個問題。

  • 只需轉到您的項目的properties
  • 選擇Deployment Assembly - >add - >Java Build Path Entries

而你完成了!

+3

這是完美的,而不是全部複製lib jar文件夾到項目的lib文件夾中...太棒了 – 2013-05-09 14:02:02

0

解決的辦法很簡單:項目名> Java的資源:SRC>庫> WebApp庫

1. Right click on the your web project and choose PROPERTIES 

2. Choose the J2EE Module Dependencies 

3. Click on the Add External JARs… and then point on your library file (ZIP or JAR) 

4. Click on Apply then OK. 

5. Restart your Apache Tomcat 

增加的庫應該下可見。

+1

似乎在更新版本的Eclipse中'J2EE Module Dependencies'被替換爲'Deployment Assembly'。 – Pshemo 2014-02-19 12:13:05

+0

@Pshemo,是的好友。你的權利,這是在更新的版本。但是,這個也是回覆哥們。 – jmail 2014-02-19 12:29:32

+1

我並不是說這不是一個答案,因爲它對許多人來說可能是有用的。我的評論只是對那些Eclipse新版本的改進不大。也許這裏沒有多少人是你的朋友,所以儘量避免這個詞。 – Pshemo 2014-02-19 13:31:30