我刚刚将我们的一个内部框架项目从 ant 转换为 maven。maven 构建运行良好,并且可以毫无问题地部署到我们的存储库。
问题是当其他项目尝试使用该框架时,它不起作用。唯一下载的是顶级框架 pom。
我尝试将一些依赖项添加到一个或多个不同的模块中,但无论添加哪一个,都会出现循环依赖错误。我还尝试创建一个没有模块和一些依赖项的第二个顶级 pom 文件来覆盖存储库管理器中的那个。这会导致一些依赖项被下载,但随后 maven 构建将挂在随机位置。基于windows任务管理器,它看起来像一个无限循环。所以第二个 pom 文件似乎不是答案(或者我做错了)。
我的框架 pom 文件看起来像这样:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>framework_snt</groupId>
<artifactId>SFP</artifactId>
<packaging>pom</packaging>
<name>SFP framework</name>
<version>6.3</version>
<modules>
.... 50+ modules here
</modules>
然后是顶级 pom 的常用属性、依赖管理和 pluginManagement 条目。
在消费模块中,我只有以下内容:
<dependency>
<groupId>framework_snt</groupId>
<artifactId>SFP</artifactId>
<version>6.3</version>
<type>pom</type>
</dependency>
这是在顶级 pom 中,因此所有子模块都可以访问框架库,以使开发人员更容易。
我该如何设置,以便我的消费项目下载所有依赖的 jar 文件?