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

标签 maven jasper-reports maven-plugin

我的 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/

相关文章:

java - 访问maven生成的jar中资源目录中的文件

java - 为 Spring MVC 和 Maven WebApplication 创建文件/图像文件夹目录

jasper-reports - 单个 JasperReport 中的两个 SQL 查询

java - List<Integer> 作为 JRBeanCollectionDataSource 到子报表中,如何获取报表上显示的整数值?

java - 从命令行覆盖运行时使用的依赖项版本

java.lang.NoClassDefFoundError : org/apache/http/impl/conn/PoolingClientConnectionManager 错误

javax.annotation 类和 Java 11 JDK

java - FxmlLoader.load() 不工作,我不知道为什么。我应该怎么办?

netbeans 中的 android maven 插件

java - 如何将正确的表达式写入 boolean 值? (不能从 boolean 值转换为 boolean 值)