Jenkins maven存储库中的备份文件夹

时间:2015-10-01 13:06:37

标签: maven jenkins gradle

我正在使用Jenkins和windows系统上的gradle构建。 Jenkins在内部使用maven。我有文件夹结构 C:\用户\ .m2目录\库\\ 在modulename文件夹中,我有多个文件夹,版本如下 1.0.1 1.0.2 ... 1.0.50。 任何人都可以告诉我为什么我们每天都会创建这些文件夹。 丢弃或减少文件夹是一个好主意。如果我们能够实现这一点。

1 个答案:

答案 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>