首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Intellij上未解析的Spring引导注释和导入

在Intellij上未解析的Spring引导注释和导入
EN

Stack Overflow用户
提问于 2019-12-23 12:23:51
回答 2查看 5.9K关注 0票数 0

这个项目进行得很顺利。我只是在pom.xml中玩Springboot版本,导入了一些新的maven项目,然后看到对于那些新项目,Springboot注释和导入停止了工作-

代码语言:javascript
复制
Cannot resolve @SpringBootApplication

pom.xml -

代码语言:javascript
复制
<?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>com.in28minutes.database</groupId>
    <artifactId>database-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>database-demo</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.11.RELEASE</version>
        <!--<version>1.5.2.RELEASE</version>-->
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>


</project>

我还有另一个设置,即使用spring 1.5.2.RELEASE,我检查了本地.m2存储库中的这两个版本。不知道是什么问题。

看来,所有引进的新项目都在抛出同样的问题。例如https://github.com/callicoder/spring-boot-actuator-demo

更新

我意识到我的主要项目有一些依赖项(从远程服务器下载maven存储库)。它们在.m2/setings.xml中定义。

当我在命令行上运行mvn安装时,我得到了这个错误-

在项目执行器上执行目标失败-演示:无法解决项目的依赖关系。示例:执行器-演示:jar:0.0.1-快照:未能在org.springframework.boot:spring-boot-starter-actuator:jar:2.1.11.RELEASE:收集依赖项,未能读取工件描述符,因为org.springframework.boot:spring-boot-starter-actuator:jar:2.1.11.RELEASE:无法传输工件org.springframework.boot:spring-boot-starter-actuator:pom:2.1.11.从/向nexus (https://project.repository.com/repository/maven-public/)发布:未能传输文件:https://project.repository.com/repository/maven-public/org/springframework/boot/spring-boot-starter-actuator/2.1.11.RELEASE/spring-boot-starter-actuator-2.1.11.RELEASE.pom。返回代码是: 502,ReasonPhrase:坏网关。->帮助1

我备份了settings.xml并删除了它。我运行了mvn干净新鲜,这一次它从mvn远程存储库下载了工艺品,问题得到了解决。

不确定为我的工作项目和演示项目切换settings.xml的正确方法是什么,因为前者需要这些设置。

EN

回答 2

Stack Overflow用户

发布于 2019-12-23 12:48:25

从命令行进行测试,以确保正确设置Maven。如果maven无法从CLI中工作,那么修复它(也许您确实需要删除存储库并重新下载所有内容)。如果你删除了你的回购,如果你有不来自在线回购的文物,要小心。

根据您的编辑,您需要为Maven提供不同的settings.xml。这样做:

mvn --settings ~/.m2/settings-demo.xml clean install

它将使用备用设置文件。对于Intellij,可以在maven设置中指定settings.xml文件(选中“覆盖”并放入新路径):

它是从CLI运行的- Intellij有时会变傻,尝试转到File -> Invalidate Caches / Restart并选择“失效并重新启动”。

票数 3
EN

Stack Overflow用户

发布于 2019-12-23 12:44:52

我不认为这是Spring问题,听起来更像是Maven问题,因为Spring @SpringBootApplication注释正在工作。从您的描述和查看您的pom.xml,听起来好像您对Maven造成了一些冲突。

  1. 尝试重新导入依赖项。如果这没有帮助,那么删除您的dependencies.
  2. I文件夹并重新导入您的pom.xml中注意到您没有Spring的版本,这意味着Maven使用最接近根的版本,如果它的Spring版本低于2.0,则不支持@SpringBootApplication。另外,尝试在pom.xml

中添加一个spring启动启动程序的版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59455328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档