groupids net.sf.jasperreports和jasperreports之间的区别

时间:2014-09-23 13:48:34

标签: maven jasper-reports

我使用net.sf.jasperreports作为版本3.6.0的组。

<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>3.6.0</version>
</dependency>

由于某些原因,我被要求降级到版本3.5.2。

<dependency>
    <groupId>jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>3.5.2</version>
</dependency>

当我进行构建时,观察到一些jar文件丢失,如

jcommon-1.0.15.jar 
jdtcore-3.1.0.jar

任何人都可以解释一下为什么会这样。这些罐子来自net.sf.jasperreports吗?请解释使用群组jasperreportsnet.sf.jasperreports之间的区别。

1 个答案:

答案 0 :(得分:1)

我很确定这是旧版maven约定的继承。 groupId的名称仅仅是一个标识符,因此它只在它正在使用的上下文中必须是唯一的。 Se也http://www.mail-archive.com/users@maven.apache.org/msg34557.html

这意味着只要您不在自己的本地存储库之外使用任何依赖项(并保持脱机),您就可以复制maven中心的依赖项名称,例如junit,primefaces或者其他任何内容。

因此版本3.5.2的jasperreports只使用artifactId作为groupId(反之亦然),但后来的版本将groupId更改为net.sf.jasperreports。

版本之间的依赖关系会发生变化,因此很自然地会出现一些文物&#34;消失&#34;如果你降级。如果您的项目依赖于这些工件,则应在POM中明确将它们定义为依赖项。