Eclipse : Web Deployment Assembly & Maven dependencies issue

一任天然發表於2011-05-18

    標準web工程在eclipse中利用m2eclipse外掛新增依賴管理後,在部署過程中沒有將依賴的jar包自動拷貝到/WEB-INF/lib中。
參考了一些朋友的做法手動執行

命令將jar包拷貝到/WEB-INF/lib目錄下。
這種做法固然可以,但是也會帶來一些不便。
1、需要手動執行命令。
2、不能時時更新。


    以下列出網上查詢到的解決方法,m2eclipse plugin方式已驗證通過。
通過驗證eclipse版本:eclipse-jee-helios-SR2-win32
m2eclipse外掛地址:http://m2eclipse.sonatype.org/sites/m2e
標準web工程通過m2eclipse新增依賴管理步驟:
1、“Maven ” –> “Enable dependency Management“

2、Web Deployment Assembly中新增maven dependencies

步驟如下圖:

工程 -> 右鍵 -> preferences

 

 

 

 


.classpath檔案中會有修改

   


(執行“Maven ” –> “Update Project Configuration “未生效,故手動新增。必須deploy時候才會拷貝jar包到lib目錄下,而非在更新maven依賴時候拷貝jar包。 )

以下為原文內容:

 

Eclipse : Web Deployment Assembly & Maven dependencies issue

Published: September 3, 2010 , Updated: September 3, 2010 , Author: mkyong

Problem

In Eclipse 3.5 or early version, in order to deployed the Maven dependencies to the correct “/WEB-INF/lib ” folder, you have to configure the dependencies via “Java EE Module Dependencies”, and the updated “.classpath ” file will look like following :

File : “.classpath”, by Java EE Module Dependencies…

Since Eclipse 3.6, the “Java EE Module Dependencies” is replaced by “Web Deployment Assembly”, but you can do the same via the “Referenced Projects Classpath Entries”, however, it will update the “.classpath ” file as following :

File : “.classpath”, by Web Deployment Assembly…

Sadly, the default (value=”../”) makes all the Maven’s dependencies failed to deploy.

Solution

Not a big issue, you still can modify the (value=”../”) to (value=”/WEB-INF/lib”) manually, but it will get override every time you run a Maven build. No worry, there are still have two solutions :

1. WTP Support

Ignore the “Referenced Projects Classpath Entries” settings, instead, make the Maven supports WTP 2.0

It will generate a new file named “org.eclipse.wst.common.component “, under “settings ” folder, see a portion of this file :

File : “org.eclipse.wst.common.component”, by WTP

With WTP support, it helps to deploy the Maven dependencies to “/WEB-INF/lib ” folder correctly.

2. m2eclipse plugin

Install the m2eclipse , an Eclipse plugin to integrate Maven into the Eclipse IDE. After the installation, right click on the project folder, select “Maven ” –> “Update Project Configuration “, it will update the “.classpath ” file accordingly, see a snippet

File : “.classpath”, by m2eclipse

It helps to deploy the Maven dependencies correctly as well.

Reference

  1. http://m2eclipse.sonatype.org/
  2. http://www.mkyong.com/maven/maven-dependency-libraries-not-deploy-in-eclipse-ide/
  3. http://www.eclipse.org/forums/index.php?t=msg&goto=542963&
  4. http://www.eclipse.org/forums/index.php?t=msg&goto=543308&
  5. http://tux2323.blogspot.com/2010/06/review-eclipse-helios-rc4.html



相關文章