Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在兄弟项目之间实现maven源依赖关系?_Java_Maven 2_Dependencies - Fatal编程技术网

Java 如何在兄弟项目之间实现maven源依赖关系?

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&

我有一个java项目,它由3个子项目组成,每个子项目生成一个.jar工件(它们之间有子依赖项)。 此外,还有一个web项目依赖于前3个项目并生成war文件。war文件是我的最终产物,即我向客户发送的内容

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

<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不会允许这样做。。。