Spring Tool Suite: класс @Configuration может быть не окончательным.Удалите последний модификатор, чтобы продолжить - PullRequest
0 голосов
/ 06 февраля 2019

Я не могу запустить мое приложение весенней загрузки kotlin, из-за следующего:

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: @Configuration class 'TestApplication' may not be final. Remove the final modifier to continue.

Я знаю, что классы @configuration и @bean не могут быть окончательными, поэтому я добавляю плагин allopen в свой файл pom:

<build>
    <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
    <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-plugin</artifactId>
            <configuration>
                <args>
                    <arg>-Xjsr305=strict</arg>
                </args>
                <compilerPlugins>
                    <plugin>spring</plugin>
                </compilerPlugins>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.jetbrains.kotlin</groupId>
                    <artifactId>kotlin-maven-allopen</artifactId>
                    <version>${kotlin.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

Если я упаковываю свое приложение и запускаю его (java -jar), оно работает, но когда я пытаюсь запустить его из STS, оно не будет работать.

Версия Kotlin: 1.2.71 Плагин Kotlin Eclipse: 0.8.13 STS: 3.9.5

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

У меня была такая же проблема.Вы должны настроить плагин Kotlin в Preferences > Kotlin > Compiler и включить Compiler plugins spring.

Диалог конфигурации компилятора Kotlin

0 голосов
/ 01 июня 2019

Этот вопрос может содержать дубликаты:

IntelliJ Idea 2017.3 не удалось запустить приложение Kotlin Spring Boot - класс @Configuration может быть не окончательным

или

Использовал плагин kotlin-spring, все еще получая ошибку не открытого класса

.В любом случае, я только что нашел решение

Вам просто нужно добавить модификатор open в класс TestApplication kotlin

@SpringBootApplication
open class TestApplication 

может решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...