我正在使用Jenkins和windows系统上的gradle构建。 Jenkins在内部使用maven。我有文件夹结构 C:\用户\ .m2目录\库\\ 在modulename文件夹中,我有多个文件夹,版本如下 1.0.1 1.0.2 ... 1.0.50。 任何人都可以告诉我为什么我们每天都会创建这些文件夹。 丢弃或减少文件夹是一个好主意。如果我们能够实现这一点。
答案 0 :(得分:1)
Maven根据所有项目(pom.xml)中的声明解析依赖项的版本。
如果项目A有:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
和项目B有:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8</version>
</dependency>
然后,您将在.m2目录中同时拥有版本4.8和4.12。
我建议您先创建BOM(物料清单),而不是先删除“旧”版本。
它就像一个技术模块,您可以修复所有依赖项和插件版本。然后你必须在你的Maven项目中使用它。之后,您可以在.m2中删除太旧的jar。
BOM导入示例:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>xxx</groupId>
<artifactId>xyz</artifactId>
<packaging>jar</packaging>
<name>My project</name>
<version>1.0</version>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>maven</groupId>
<artifactId>X</artifactId>
<version>1.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>