[英]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中。
有什么更好的办法吗?
在项目A
的Properties中,转到Java Build Path ,然后在Libraries选项卡中删除对M2_REPO/path/to/B-version.jar
的引用。 然后,在“ 项目”选项卡中,添加对项目B
的引用。
请注意,如果这些是一个父模块的两个模块(即,您在<modules>
部分中有一个pom.xml
,其中A
和B
都包含),那么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.