gpt4 book ai didi

spring - Kotlin 编译器返回 : Unresolved reference: springframework in Spring 5. 0

转载 作者:IT老高 更新时间:2023-10-28 13:38:59 52 4
gpt4 key购买 nike

我正在尝试将 Kotlin 与 Spring 5.0 一起使用,但是我遇到了 Kotlin 编译器无法识别对 Spring 的任何引用的问题:

[ERROR] Failed to execute goalorg.jetbrains.kotlin:kotlin-maven-plugin:1.1.1:compile (compile) onproject kotlin-mvc-project: Compilation failure: Compilation failure:

[ERROR] (file location):[7,12] Unresolved reference: springframework

我正在使用 Spring 里程碑版本 Spring 5.0.0.M5 和 Kotlin 版本 1.1.1(在我的 kotlin 编译器和 IntelliJ Kotlin 插件上)。 IDE 在我的任何 Kotlin 文件中都没有突出显示编译错误,但运行 kotlin-compiler 似乎根本看不到 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>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>

</dependencies>

<build>
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
<plugins>
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>

<executions>
<execution>
<id>compile</id>
<goals> <goal>compile</goal> </goals>
</execution>

<execution>
<id>test-compile</id>
<goals> <goal>test-compile</goal> </goals>
</execution>
</executions>
</plugin>
</plugins>
</build>


</project>

最佳答案

在@DmitrySenkovich 帮助缩小我的 pom 不是问题后,我调查了本地 maven 存储库中可能出现的问题。我检查了我的 .m2 文件夹中的 jar ,它们似乎有点错误并且缺少某些东西。我尝试删除 maven 存储库,但它们一直被拉回原样。

这个问题出现在公司机器上,经过调查,我们的 maven settings.xml 似乎被配置为从公司范围的 Artifactory 中提取依赖项,而不是 maven Central/任何其他 repo。

依赖项应该根据需要从其他存储库中拉下到此 Arifactory 中,但无论出于何种原因(我假设是因为它们是从 maven Central 以外的存储库中拉下的),里程碑 Spring 构建的 jar 没有拉下正确。通过删除这些并手动将 jar 添加到 Artifactory,我终于解决了这个问题。

关于spring - Kotlin 编译器返回 : Unresolved reference: springframework in Spring 5. 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42925351/

52 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com