当前位置: 首页 > 知识库问答 >
问题:

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

邢凌
2023-03-14

我正试着将Kotlin与Spring 5.0结合使用,但是我遇到了Kotlin编译器无法识别任何Spring引用的问题:

[错误]未能在项目 kotlin-mvc-项目上执行目标组织.jetbrains.kotlin:kotlin-maven-plugin:1.1.1:编译(编译):编译失败:

[错误](文件位置):[7,12]未解决的参考:springFramework

我正在使用Spring里程碑版本Spring 5.0.0。M5和静态编程语言版本1.1.1(在我的kotlin编译器和IntelliJ静态编程语言插件上)。在我的任何静态编程语言文件中,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>
        <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> <html" target="_blank">goal>compile</goal> </goals>
                </execution>

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


</project>

共有1个答案

康鹏云
2023-03-14

在@DmitrySenkovich的帮助下,缩小了范围,这不是我的pom的问题,我调查了我的本地maven存储库中可能出了什么问题。我检查了我的.m2文件夹中的罐子,它们似乎有点错误,缺少某些东西。我试图擦拭maven存储库,但它们一直被拉回相同的位置。

这个问题是在公司机器上,经过一些调查,我们的mavensettings.xml似乎被配置为从公司范围的ArtiFactory而不是maven Central/任何其他存储库中删除依赖项。

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

 类似资料:
  • 我试图使用新的相机硬件API(android.hardware.camera2)的示例代码为我的Android应用程序。首先,我通过Android Studio的静态编程语言插件的自动转换功能将Java代码转换为静态编程语言代码。下面是一段转换后的代码: 我得到了未解决的引用错误: 但是这些常数在原始Java代码中是可以识别的。这些错误有什么解决办法吗?

  • 这一行: 给我错误。 我的项目创建过程非常基本:在Intellij idea中:

  • 我一直得到错误"未解决的引用:绑定"。有人知道我错过了什么吗?我已经试着更新了一切。但是绑定不起作用。 建筑格拉德尔。(module.app):

  • 为了在我的项目中使用android Room ORM,我在Kotlin/Java项目中添加了Room依赖项,在之后,我得到了大量错误(请参见下面的错误) 我试过这个Android Studio未解决的参考。项目编译和这个未解决的引用:kotlinx但是还没有解决方案,我如何解决这个未解决的资源错误

  • 我正在测试一个基本的基于Kotlin的Android应用程序,基于“Kotlin for Android开发者”一书中的说明。我使用的是Android Studio 2.1.1。 在消息部分,我看到以下内容: 如何让应用程序正确编译?