繁体   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