在使用maven之前,對於把一個項目拆分爲多個工程的情況,需要手工在build path中設置Projects
在使用了maven之後,就不需要手工設置,只要在pom中設置了dependency,m2eclipse插件會自動設置爲依賴工程,pom文件:
Xml代碼
效果如下圖:
不過我今天遇到一個情況,就是明明已經在pom中配置了依賴,但是m2eclipse就是不設置依賴工程,最後發現原來是需要在m2eclipse提供的右鍵菜單中做一個操作:
選擇Maven-->Enable Workspace Resolution
打開這個選項以後,在Workspace中配置的工程纔會作爲依賴工程,如果disable之後,則會被視爲靜態的依賴jar包
效果如圖:
對比之前的效果圖,可以看到,task-common已經不再是依賴工程,取而代之,是一個靜態的task-common.jar 這樣有2個問題,一個是必須先把task-common.jar放入本地倉庫或者遠程倉庫,否則即使eclipse中有task-common工程,還是會報錯: Missing artifact com.huawei.inoc.wfm.task:task-common:jar:0.0.1-SNAPSHOT:compile 另一個問題是,以靜態jar包的方式依賴的話,那麼task-common裏的改動,就無法第一時間在task-sla裏體現了,所以還是應該把工程依賴的選項打開。 不過這樣操作以後,經常會發生一個怪異的現象:此時用命令行進行maven構建是沒問題的,但是工程在eclipse裏顯示紅叉,需要設置Java Compiler重新編譯一次才能解決。我沒找到爲什麼,懷疑是m2eclipse的一個BUG