现在,我有两个Eclipse项目 - 他们都使用Maven 2的所有jar的依赖善良。
在Eclipse中,我已经包含在项目栏的构建路径项目富,这样我可以从项目的酒吧使用Foo的类。这个作品真的很好在Eclipse中的土地,但是当我尝试:
mvn compile
酒吧的目录中,因为Maven的不知道在Eclipse的构建路径的项目到项目的关系,它失败。
如果我使用Ant,我只想用它做一些愚蠢的类似副本foo.jar中为项目栏的类路径,但据我所知,事情正在Maven的土地少hackishly做了很多。
我不知道是否有这种类型的问题,标准的解决方法 - 它似乎将是相当普遍的,我只是失去了一些东西基本的关于Maven是如何工作的。
也许你正在引用通过Eclipse配置 - 其他项目>只有构建路径。这只要你使用Eclipse来构建你的项目工程。
尝试运行项目栏第一mvn install
(为了把律师在你的Maven仓库),然后添加依赖关系美孚的pom.xml。
这应该工作!
退房m2eclipse插件。当您更改POM它会自动和动态更新项目构建路径。没有必要运行mvn eclipse:eclipse
。
该插件还发现,如果任何依赖性在同一个工作区和项目添加到构建路径。
理想的情况是,如果你使用的m2eclipse,你永远不会手动更改项目构建路径。你总会编辑的pom.xml代替,这是做的正确方法。
如已如前所述,Maven将不知道Eclipse项目构建路径。你需要将所有的依赖添加到聚甲醛,你需要确保所有的依赖关系是建立和运行mvn install
首先安装。
如果你想建立一个命令这两个项目,那么你可能会发现project aggregation有趣。
你可能想尝试另一种办法,那就是你有一个父Maven项目和两个孩子的项目。让我们说:
父(pom.xml中有两个孩子的项目/模块的引用) - > A(取决于B) - >乙
那么当你运行mvn日食:日食从父根,Maven会产生A和B Eclipse项目,这将有B中在A的类路径所需的项目
你可以运行mvn从父根安装以获得这两个项目进行编译。
为了方便您的安装,你必须A和B导入到Eclipse中,确保不选中“复制项目进入工作区”。
我只需要做到这一点,我需要它与外部MVN打造全新安装命令。下面是在Eclipse中配置正确的方法。 (随着项目乙作为A的依赖性)
Dependencies
标签。Add...
的按键(左侧依赖盒)Enter groupId, artifactId or sha1 prefix or pattern (*):
。输入项目B中的工件ID在此框中。我认为处理它的最好办法就是让酒吧Maven项目就像美孚,然后mvn install
它,所以它是在你的本地Maven仓库中。其缺点是,你有你想要的Maven看到您对酒吧的变化,每次安装项目。
不是一个完整的答案:
酒吧的POM需要包括美孚以使用Maven编译。
我感兴趣的是这个问题太,而是从如何让Eclipse能够识别一个maven-添加依赖的角度看实际上是在同一个工作区的另一个项目。我目前在进行修改后mvn eclipse:eclipse
构建路径
如果引用本地项目,但其版本已经更新(通常是增加),它也许可以只在您的本地回购发现你在你的POM(S)来更新它的(可能是固定的)版本。
我们有一个“共同项目”(到处被使用),它不一定需要,因为我们通过源代码控制标记它来进行版本控制。所以无论是
LATEST
版本引用它好的解决方法永远是在安全方面。