簡體   English   中英

帶有相關Maven項目的最佳Eclipse(Luna)設置

[英]Best Eclipse (Luna) setup with dependent Maven projects

我正在使用Eclipse Luna,並且我有兩個Maven Java項目A和B,其中A依賴於B。我想同時編輯它們(並從Eclipse的重構功能等中受益)。 最佳的設置是什么?

我目前正在使用以下具有某些缺點的設置,如下所述。

我首先構建項目B並安裝它,然后生成一個Eclipse項目。

# cd B
B # mvn package install
B # mvn eclipse:eclipse

然后,我構建A並生成一個Eclipse項目:

# cd ../A
A # mvn package
A # mvn eclipse:eclipse

現在,我可以將兩個項目都導入Eclipse。 我的問題是A現在使用已安裝的B版本,而不是Eclipse中當前打開的版本。 也就是說,在對B進行每次更新之后,我必須為B進行mvn install ,並且(顯然)為A進行mvn eclipse:eclipse才能看到我對B的更改反映在Eclipse中。

有什么更好的辦法嗎?

在項目AProperties中,轉到Java Build Path ,然后在Libraries選項卡中刪除對M2_REPO/path/to/B-version.jar的引用。 然后,在“ 項目”選項卡中,添加對項目B的引用。

請注意,如果這些是一個父模塊的兩個模塊(即,您在<modules>部分中有一個pom.xml ,其中AB都包含),那么mvn eclipse:eclipse在該父模塊上調用時將自動執行此操作。

我認為您的問題是,eclipse:eclipse為每個依賴項生成一個classpath條目,例如

<classpathentry kind="var" path="M2_REPO/com/google/guava/guava/18.0/guava-18.0.jar"/>

在文件.classpath中而不是

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>

我不知道哪個目標會做得更好,但是當您使用eclipse的導入向導導入maven項目時, .classpath文件將使用MAVEN2_CLASSPATH_CONTAINER進行配置。

您需要插件http://eclipse.org/m2e/才能使用動態依賴項管理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM