添加引用的Eclipse项目到Maven依赖

问题描述 投票:24回答:7

现在,我有两个Eclipse项目 - 他们都使用Maven 2的所有jar的依赖善良。

在Eclipse中,我已经包含在项目栏的构建路径项目富,这样我可以从项目的酒吧使用Foo的类。这个作品真的很好在Eclipse中的土地,但是当我尝试:

mvn compile 

酒吧的目录中,因为Maven的不知道在Eclipse的构建路径的项目到项目的关系,它失败。

如果我使用Ant,我只想用它做一些愚蠢的类似副本foo.jar中为项目栏的类路径,但据我所知,事情正在Maven的土地少hackishly做了很多。

我不知道是否有这种类型的问题,标准的解决方法 - 它似乎将是相当普遍的,我只是失去了一些东西基本的关于Maven是如何工作的。

java eclipse maven-2
7个回答
19
投票

也许你正在引用通过Eclipse配置 - 其他项目>只有构建路径。这只要你使用Eclipse来构建你的项目工程。

尝试运行项目栏第一mvn install(为了把律师在你的Maven仓库),然后添加依赖关系美孚的pom.xml。

这应该工作!


9
投票

退房m2eclipse插件。当您更改POM它会自动和动态更新项目构建路径。没有必要运行mvn eclipse:eclipse

该插件还发现,如果任何依赖性在同一个工作区和项目添加到构建路径。

理想的情况是,如果你使用的m2eclipse,你永远不会手动更改项目构建路径。你总会编辑的pom.xml代替,这是做的正确方法。

如已如前所述,Maven将不知道Eclipse项目构建路径。你需要将所有的依赖添加到聚甲醛,你需要确保所有的依赖关系是建立和运行mvn install首先安装。

如果你想建立一个命令这两个项目,那么你可能会发现project aggregation有趣。


2
投票

你可能想尝试另一种办法,那就是你有一个父Maven项目和两个孩子的项目。让我们说:

父(pom.xml中有两个孩子的项目/模块的引用) - > A(取决于B) - >乙

那么当你运行mvn日食:日食从父根,Maven会产生A和B Eclipse项目,这将有B中​​在A的类路径所需的项目

你可以运行mvn从父根安装以获得这两个项目进行编译。

为了方便您的安装,你必须A和B导入到Eclipse中,确保不选中“复制项目进入工作区”。


2
投票

我只需要做到这一点,我需要它与外部MVN打造全新安装命令。下面是在Eclipse中配置正确的方法。 (随着项目乙作为A的依赖性)

  1. 打开在Eclipse项目中的pom.xml中。
  2. 转至Dependencies标签。
  3. 点击页面中间的Add...的按键(左侧依赖盒)
  4. 在弹出窗口中,应该有根据与文本行的盒子上面它说Enter groupId, artifactId or sha1 prefix or pattern (*):。输入项目B中的工件ID在此框中。
  5. 双击罐子要作为依赖添加到项目 您可能需要后更新项目。 右键单击一个项目在你的Package Explorer Maven的 - >更新项目... 然后在弹出的点击OK。

1
投票

我认为处理它的最好办法就是让酒吧Maven项目就像美孚,然后mvn install它,所以它是在你的本地Maven仓库中。其缺点是,你有你想要的Maven看到您对酒吧的变化,每次安装项目。


1
投票

不是一个完整的答案: 酒吧的POM需要包括美孚以使用Maven编译。 我感兴趣的是这个问题太,而是从如何让Eclipse能够识别一个maven-添加依赖的角度看实际上是在同一个工作区的另一个项目。我目前在进行修改后mvn eclipse:eclipse构建路径


0
投票

如果引用本地项目,但其版本已经更新(通常是增加),它也许可以只在您的本地回购发现你在你的POM(S)来更新它的(可能是固定的)版本。


我们有一个“共同项目”(到处被使用),它不一定需要,因为我们通过源代码控制标记它来进行版本控制。所以无论是

  • 将其保持在一个固定的版本或
  • 用特殊LATEST版本引用它

好的解决方法永远是在安全方面。

© www.soinside.com 2019 - 2024. All rights reserved.