java.lang.NoSuchFieldError: reportUnusedDeclaredThrownExcept
java.lang.NoSuchFieldError: reportUnusedDeclaredThrownExceptionIncludeDocCommentReference
我得到异常
java.lang.NoSuchFieldError: reportUnusedDeclaredThrownExceptionIncludeDocCommentReference outside eclipse in command line using maven.
gwt库在依赖项列表的顶部声明,并且正在使用GWT22.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编译在同一个项目中共存?
相关文章:
- 没有找到相关文章