Tag: maven

Kotlin编译器返回:未解决的引用:Spring 5.0中的springframework

我试着开始使用Kotlin和Spring 5.0一起玩,但是我遇到了Kotlin编译器没有认识到任何对Spring的引用的问题: [错误]无法执行目标org.jetbrains.kotlin:kotlin-maven-plugin:1.1.1:编译(编译)项目kotlin-mvc-project:编译失败:编译失败: [错误](文件位置):[7,12]未解决的参考:springframework 我正在使用Spring的里程碑版本Spring 5.0.0.M5和Kotlin版本1.1.1(在我的kotlin编译器和IntelliJ Kotlin插件上)。 在我的任何Kotlin文件中,IDE没有强调编译错误,但运行kotlin编译器似乎根本没有看到Spring 5.0。 有没有人有任何想法如何解决这个问题? 我在这个项目中使用Maven,我已经附上了我的POM作为参考: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>kotlin-mvc-project</groupId> <artifactId>kotlin-mvc-project</artifactId> <version>1.0-SNAPSHOT</version> <properties> <kotlin.version>1.1.1</kotlin.version> <spring.version>5.0.0.M5</spring.version> </properties> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/libs-milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <dependencies> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-compiler</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> […]

Spring Boot 2和Kotlin(带Maven)

我想使用Spring Boot 2(即暂时构建快照)开始一个新项目,而后者又使用了Spring Framework 5(也是最新的)。 原因是春季5应该有更多的改善Kotlin的支持 ,我想用Kotlin。 现在我找到的例子使用Spring Boot 1.4.3,当然还有Gradle,当然还有基于Kotlin的Gradle文件。 说实话,对于一个单一的项目来说,这对我来说太过于新技术了。 我甚至不知道如何添加一个新的存储库到Gradle(Kotlin-Gradle!)构建脚本。 我更喜欢一个Maven项目,因为我至少熟悉这个,而全新的Spring和Kotlin将会有足够的实验。 那么,如何在Maven中做到这一点? 什么是在那里我看到Gradle引用的kotlin-spring插件?

使用Kotlin的Maven依赖不引入Kotlin类

我有两个项目,一个是依赖于另一个。 我已经将依赖项目转换为Kotlin,但是现在当maven从本地maven仓库获取发布的依赖关系时,父项目并没有依赖于Kotlin内部库。 大纲: Main Project ↳ Now-Kotlin Project ↳ Kotlin Std-lib 运行主项目时,会导致java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics异常。 现在Kotlin项目有kotlin-maven-plugin插件和在它的pom.xml中定义的kotlin-stdlib 。 父项目有被列为依赖项的现在的Kotlin项目,它被正确地导入,它的类被找到和使用,等等…在IntelliJ中就好了。 编译和启动tomcat上主应用程序的应用程序,直到第一次从现在的Kotlin项目中调用代码, org.apache.catalina.core.ApplicationContext log SEVERE: StandardWrapper.Throwable java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics …. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics 我的假设是,Kotlin库将遵循Maven的正常依赖关系规则,并且来自kotlin-stdlib的org.jetbrains.kotlin包将被包含在任何传递依赖关系中。 主要项目中包含这些依赖关系的正确方法是什么? 更新 主项目mvn dependency:tree相关部分: [INFO] — maven-dependency-plugin:2.10:tree (default-cli) @ example-core — [INFO] com.example:example-core:jar:1.17.0-SNAPSHOT [INFO] +- com.example.service.search:search-client:jar:kotlin:2.0.3-SNAPSHOT:compile 主要项目POM … <dependency> <groupId>com.example.service.search</groupId> <artifactId>search-client</artifactId> <version>2.0.3-SNAPSHOT</version> <scope>compile</scope> […]