Java 如何在兄弟项目之间实现maven源依赖关系?
我有一个java项目,它由3个子项目组成,每个子项目生成一个.jar工件(它们之间有子依赖项)。 此外,还有一个web项目依赖于前3个项目并生成war文件。war文件是我的最终产物,即我向客户发送的内容 此外,我还有一个包含所有其他项目的父模块:Java 如何在兄弟项目之间实现maven源依赖关系?,java,maven-2,dependencies,Java,Maven 2,Dependencies,我有一个java项目,它由3个子项目组成,每个子项目生成一个.jar工件(它们之间有子依赖项)。 此外,还有一个web项目依赖于前3个项目并生成war文件。war文件是我的最终产物,即我向客户发送的内容 此外,我还有一个包含所有其他项目的父模块: <modules> <module>../core</module> <module>../commons</module> <module>../api&
<modules>
<module>../core</module>
<module>../commons</module>
<module>../api</module>
<module>../web</module>
</modules>
../core
../commons
../api
../web
我生成eclipse文件(mvn eclipse:eclipse)并使用eclipse。问题是,如果我修改了其中一个非web项目,我必须在将web项目部署到web容器之前手动安装它。如何使web项目直接依赖于其他项目的源代码,而不依赖于存储库中安装的版本。在web应用程序属性中(在Package explorer中对项目进行右clic,然后是“属性”),在“J2EE模块依赖项”中添加三个模块(core、commons和api)(其他模块必须在Eclipse工作区中打开)。是否要添加对部署到存储库的源JAR的依赖关系 如果是这样,您可以通过将源分类器添加到依赖项中来实现。有关更多详细信息,请参阅
如果没有,请您进一步澄清。我认为您的问题在于您只是在构建war项目。如果您是从命令行构建的,那么您必须构建的是父模块。“mvn包”在包含父模块的目录中应该足够了。当然,这意味着您每次都必须构建所有包,但这是maven的工作方式。依赖项:树目标本身将在存储库而不是反应器中查找内容。您可以通过mvn安装来解决这一问题,正如前面所建议的那样r做一些不那么繁重的调用反应堆的事情,例如 mvn编译依赖项:树 对我有用
Edit:D'oh!将此答案发布到错误的问题。本应回答的是不,我希望maven了解源代码依赖关系。eclipse可以。好了,现在我知道您想要做什么了。但是,我认为maven不会允许这样做。。。