Следующая вводная часть Spring-Boot: «Не удается найти подходящий основной класс, пожалуйста, добавьте свойство ‘MainClass'»

#xml #maven #spring-boot #ubuntu #installation

#xml #maven #spring-boot #ubuntu #установка

Вопрос:

Следуя руководству по весенней загрузке, попробуйте запустить с $ mvn spring-boot: run выдает ошибку: «Не удается найти подходящий основной класс …» Как мне пройти мимо этого?

(Работает с Ubuntu)

Я следовал этому руководству, чтобы попробовать и поработать с Spring-Boot:

https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started-first-application.html

вплоть до 11.4. Когда я ввожу

 $ mvn spring-boot:run
  

В итоге я получаю эту ошибку:

 
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.1.3.RELEASE:run (default-cli) on project myproject: Unable to find a suitable main class, please add a 'mainClass' property 
  

Я думал, что следовал всем указаниям T. The Example.java , который должен быть запущен на этом шаге, находится здесь,

 folder/src/main/java/Example.java 
  

Тот, который называется «папка», содержит pom-файл для maven и все остальное. У Maven нет проблем с чтением этого файла pom.

Из трассировки стека:

 
Caused by: org.apache.maven.plugin.MojoExecutionException: Unable to find a suitable main class, please add a 'mainClass' property

  

Что мне делать? Все остальные вопросы, похоже, связаны со структурой каталогов или чем-то более сложным. Где я ошибся здесь?

Ответ №1:

Я не знаю, что вы сделали, похоже, у вас нет основной функции для запуска приложения. Я только что создал папку проекта, затем я создал pom.xml файл с

 <?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.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>

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

    <!-- Additional lines to be added here... -->

</project>
  

Затем я изменил свой pom.xml к содержимому ниже

 <?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.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>

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

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

    <!-- Additional lines to be added here... -->

</project>
  

И создал мой project/src/main/java/Example.java следующим образом (равно Exmaple.java из ссылки)

 import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class Example {

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

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

}
  

затем я зашел в корневой каталог проекта и набрал

 $mvn spring-boot:run
  

и это сработало.

Комментарии:

1. Спасибо. Я взял свой старый Example.java файл, удалил его и создал новый. Должно быть, я что-то неправильно назвал, понятия не имею. Отлично сработало, спасибо, что сообщили мне, что это была проблема с функцией main, а не с какой-то конфигурацией для доступа к ней. С благодарностью.

Ответ №2:

Ключ в том, чтобы настроить правильную структуру каталогов следующим образом: myproject/src/main/jave. Поместите pom.xml в папке myproject и java code в папке java.

Комментарии:

1. Можете ли вы объяснить, что ваш ответ добавляет к принятому? Что делает ваш ответ лучше, чтобы помочь людям? Похоже, это то же самое решение, но с меньшим количеством пояснений