#xml #maven #spring-boot #ubuntu #installation
#xml #maven #spring-boot #ubuntu #установка
Вопрос:
Следуя руководству по весенней загрузке, попробуйте запустить с $ mvn spring-boot: run выдает ошибку: «Не удается найти подходящий основной класс …» Как мне пройти мимо этого?
(Работает с Ubuntu)
Я следовал этому руководству, чтобы попробовать и поработать с Spring-Boot:
вплоть до 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. Можете ли вы объяснить, что ваш ответ добавляет к принятому? Что делает ваш ответ лучше, чтобы помочь людям? Похоже, это то же самое решение, но с меньшим количеством пояснений