繁体   English   中英

java.lang.NoSuchFieldError:reportUnusedDeclaredThrownExceptionIncludeDocCommentReference

[英]java.lang.NoSuchFieldError: reportUnusedDeclaredThrownExceptionIncludeDocCommentReference

我得到了例外

java.lang.NoSuchFieldError: reportUnusedDeclaredThrownExceptionIncludeDocCommentReference outside eclipse in command line using maven.

gwt库在依赖项列表的顶部声明,并且正在使用GWT 2.5.1 如何解决这个问题? 请帮忙

好吧,我弄清楚问题是什么。 在我的pom.xml中,我有这种依赖

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

这个问题是,jasper报告依赖于jdtcore

        <dependency>
        <artifactId>jdtcore</artifactId>
        <groupId>eclipse</groupId>
        <version>3.1.0</version>
    </dependency>

jdtcore实际上与gwt编译器产生冲突。 要解决这个问题,我需要像这样在jasper依赖项中添加一个排除项

        <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>4.7.0</version>
        <exclusions>
            <exclusion>
                <artifactId>jdtcore</artifactId>
                <groupId>eclipse</groupId>
            </exclusion>
        </exclusions>
    </dependency>

现在,如果仍然需要Web应用程序中的jdtcore库(通常是动态编译jasper报告),我们可以像这样添加范围运行时的依赖项

    <dependency>
        <artifactId>jdtcore</artifactId>
        <groupId>eclipse</groupId>
        <version>3.1.0</version>
        <scope>runtime</scope>
    </dependency>

最后请注意,如果有人遇到问题,那么应该查看pom.xml中的任何依赖关系是否依赖于jdtcore,将其排除并将其包含为运行时

希望这可以帮助

对于gradle,在build.gradle中排除传递依赖关系,如下所示:

dependencies {
    compile('net.sf.jasperreports:jasperreports:3.7.4') {
        //Exclude as it caused problems with GWT:
        //http://stackoverflow.com/questions/17991063/java-lang-nosuchfielderror-reportunuseddeclaredthrownexceptionincludedoccomment
        exclude group: 'eclipse', module: 'jdtcore'  
    }  
}

除了我做了这个改变后,我的jasper编译失败了。 我不确定如何让Jasper编译和GWT编译在同一个项目中共存?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM