如何在兄弟项目中实现maven源依赖?

时间:2009-03-02 16:09:47

标签: java maven-2 dependencies

我有一个java项目,它由3个子项目组成,每个项目都生成一个.jar工件(并且它们之间有子依赖关系)。 此外,还有一个Web项目依赖于前3个项目并生成war文件。战争文件是我的最终工件,即我发送给客户的东西。

此外,我有一个包含所有其他项目的父模块:

<modules>
    <module>../core</module>
    <module>../commons</module>
    <module>../api</module>
    <module>../web</module>
</modules>

我生成eclipse文件(mvn eclipse:eclipse)并使用eclipse。问题是如果我修改其中一个非Web项目,我必须在将Web项目部署到我的Web容器之前手动安装它。如何使Web项目直接依赖于其他人的源代码而不是安装在存储库中的版本。

4 个答案:

答案 0 :(得分:0)

在您的Web应用程序属性中(在Package explorer中右键clic,然后是“属性”),在“J2EE Module Dependencies”中添加三个模块(core,commons和api)(必须打开其他模块)在Eclipse工作区中。)

答案 1 :(得分:0)

是否要对部署到存储库的源jar添加依赖项?

如果是这样,您可以通过将 sources 分类器添加到依赖项来实现。有关详细信息,请参阅this answer

如果没有,你能否进一步澄清。

答案 2 :(得分:0)

我认为你的问题是你只是建立战争项目。如果要从命令行构建它,那么您必须构建的是父模块。包含父模块的目录中的“mvn package”应该足够了。当然这意味着你必须每次都构建所有的包,但这就是maven的工作方式。

答案 3 :(得分:0)

依赖:树目标本身将在存储库而不是反应堆中查找。您可以通过mvn安装来解决这个问题,如前所述,或者做一些不那么繁琐的调用反应堆的事情,例如

  

mvn编译依赖:树

适合我。

编辑:D'哦!把这个答案发给了错误的问题。本来是要回答this