如何在兄弟项目中实现maven源依赖?
-
03-07-2019 - |
题
我有一个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项目直接依赖于其他人的源代码而不是安装在存储库中的版本。
解决方案
在您的Web应用程序属性中(在Package explorer中右键clic,然后是“properties”),在“J2EE Module Dependencies”中添加三个模块(core,commons和api)。 (其他模块必须在Eclipse工作区中打开)。
其他提示
我认为你的问题是你只是建立战争项目。如果要从命令行构建它,那么您必须构建的是父模块。 “mvn package”在包含父模块的目录中应该足够了。当然这意味着你必须每次都构建所有的包,但这就是maven的工作方式。
依赖:树目标本身将在存储库而不是反应堆中查找。您可以通过mvn安装来解决这个问题,如前所述,或者做一些不那么繁琐的调用反应堆的事情,例如
mvn编译依赖:树
适合我。
编辑:D'哦!把这个答案发给了错误的问题。本来是要回答这个不隶属于 StackOverflow