java.lang.NoSuchFieldError: reportUnusedDeclaredThrownExceptionIncludeDocCommentReference

Я получил исключение

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

Библиотеки gwt объявлены в верхней части списка зависимостей, и используется GWT 2.5.1. Как решить эту проблему? Пожалуйста помоги

2 ответа

Решение

Ну я разобрался в чем проблема. В моем 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. Чтобы решить эту проблему, мне нужно добавить исключение в зависимости от яшмы, как это

        <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>

Теперь, если по-прежнему нужна библиотека 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://stackru.com/questions/17991063/java-lang-nosuchfielderror-reportunuseddeclaredthrownexceptionincludedoccomment
        exclude group: 'eclipse', module: 'jdtcore'  
    }  
}

За исключением того, что я сделал это изменение, моя компиляция яшмы не удалась. Я еще не уверен, как я могу заставить компиляцию Jasper и GWT сосуществовать в одном проекте?

Другие вопросы по тегам