无法将SpringBootApplication解析为类型

lawou6xi  于 2023-06-29  发布在  Spring
关注(0)|答案(4)|浏览(182)

下面是我的Spring代码和pom.xml。Maven无法更新,即使我试图强制项目更新。关于这个问题的任何决议或我错的方向。

package com.boot;

import org.springframework.*;

@SpringBootApplication
public class App 
{
   public static void main( String[] args )
   {
      System.out.println("Hello World");
   }
}

pom

<groupId>com.boot</groupId>
<artifactId>das-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.4.2.RELEASE</version>
</parent>

<name>das-boot</name>
<url>http://maven.apache.org</url>

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <start-class>com.boot.App</start-class>
</properties>

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
 </dependencies>
</project>

我不明白为什么Maven不能为我的项目获取依赖项。A

n3ipq98p

n3ipq98p1#

我也面临着同样的问题。
我将版本从2.0.5.RELEASE更改为2.0.3.RELEASE以使其工作

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

pgky5nke2#

假设

  • 项目的所有依赖项都将更新
  • 已连接互联网:P
  • 您正在使用Gradle或Maven

这是一个令人兴奋的情况,它可以通过重新加载依赖项来解决。在这种情况下,Userv可以构建二进制文件(jar),但不能在本地运行应用程序。
要解决此问题,您需要手动更新依赖项。

为了玛文

mvn clean install -U

为了Gradle

./gradlew clean build --refresh-dependencies

不确定根本原因,尝试但无法重现。一旦我们遇到同样的陷阱,会努力改进答案

gcuhipw9

gcuhipw93#

如果您愿意迁移到2.x,请按照以下步骤操作:

步骤1复制到下面的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>com.boot</groupId>
    <artifactId>das-boot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>das-boot</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.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-web</artifactId>
        </dependency>

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

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

</project>

步骤2:这是你的主要应用程序类:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DasBootApplication {

    public static void main(String[] args) {
        SpringApplication.run(DasBootApplication.class, args);
    }
}

或者你也可以继续使用1.4.2,只需要将java版本改为1.6

tcbh2hod

tcbh2hod4#

你应该在run()方法中提供类名,如下所示:

@SpringBootApplication
public static void main(String[] args) { 
    SpringApplication.run(App.class, args);
    Sytem.out.print("Started");
}

并从pom.xml中删除下面的行

<start-class>com.boot.App</start-class>

相关问题