gpt4 book ai didi

maven - 如何从 jasperreports maven 插件中排除 jasperreports Artifact

转载 作者:行者123 更新时间:2023-12-01 03:36:40 28 4
gpt4 key购买 nike

我的 pom 中有以下插件:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jasperreports-maven-plugin</artifactId>
<version>1.0-beta-2</version>
<dependencies>
<dependency>
<!-- The dependency specified by the plugin doesn't work so we must provide our own -->
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>${jasperreports.version}</version>
<exclusions>
<exclusion>
<groupId>jfree</groupId>
<artifactId>jcommon</artifactId>
</exclusion>
<exclusion>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Groovy compiler seems to be required but not part of JasperReports' specified dependencies-->
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${groovy.version}</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>${itext.version}</version>
</dependency>
</dependencies>
</plugin>

上述插件的 1.0-beta-2 版本指向 1.2.0 版本的 jasperreports Artifact ,该 Artifact 又指向 [2.1, ) 的开放式 commons-collections
在 1.0-beta-2 pom 中:
<dependency>
<groupId>jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>1.2.0</version>
</dependency>

在 jasperreports 1.2.0 pom 中:
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>[2.1,)</version>
<scope>compile</scope>
</dependency>

就我而言,其他人插入了一个联系存储库,一个名为 3.2.1-redhat-7 commons-collections 的 Artifact 。
jasperreports-maven-plugin 指向上面的集合版本,它恰好是一个损坏的版本。有一个有效的 3.2.1 版本的 commons 集合。我需要排除 jasperreports Artifact 并强制 jasperreports-maven-plugin 使用 net.sf.jasperreports。
我已经尝试添加
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jasperreports-maven-plugin</artifactId>
<version>1.0-beta-2</version>
<exclusions>
<exclusion>
<groupId>jasperreports</groupId>
<artifactId>jasperreports</artifactId>
</exclusion>
</exclusions>
</dependency>

到上面的插件,但它仍然指向相同的 1.2.0 jasperreports,它指向一个开放式的 commons-collections,并且构建失败。
但是,如果我在 jasperreports-maven-plugin.pom 中注释掉依赖项“jasperreports”,它会使用来自 net.sf.jasperreports 的 jasperreports 并构建得很好。
请告诉我。

最佳答案

很抱歉没有真正回答(由于缺乏声誉而无法发表评论),但是:
1.
如果你像我一样着急,
这是一种解决方法,来自
http://community.jaspersoft.com/questions/967926/issue-maven-plugin-codehaus-dec-9-2015 :

You need to add

https://maven.repository.redhat.com/nexus/content/groups/product-ga

as one of your remote repos.



非常感谢 joel.witham

2.
我认为 this回答
Maven dependency management for plugin dependencies

是最有前途的..即不要排除 jasper-1.2,但要确保它使用正确的依赖版本。

关于maven - 如何从 jasperreports maven 插件中排除 jasperreports Artifact ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34193602/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com