Ответ 1
Основной класс настраивается в pom.xml
<properties>
<start-class>com.bt.collab.alu.api.webapp.Application</start-class>
</properties>
У меня есть программа, которая запускается как загрузочное приложение Spring в eclipse. Программа работала нормально. Затем я сделал следующее:
Щелкните правой кнопкой мыши по проекту → Запустить как → Тест Maven.
Это было случайно. Когда я попытался снова запустить программу в качестве загрузочного приложения Spring, она указала следующую ошибку ниже.
Error: Could not find or load main class com.bt.collab.alu.api.webapp.Application
Как вернуть приложение в мой основной класс? Благодаря
Основной класс настраивается в pom.xml
<properties>
<start-class>com.bt.collab.alu.api.webapp.Application</start-class>
</properties>
У меня была та же проблема. Попробуйте следующее:
Щелкните правой кнопкой мыши проект → Maven → Обновить проект
Затем перезапустите проект. Надеюсь, это сработает и для вас.
Посмотрите в разделе "Run → Run Configurations..." в Eclipse. Вы должны удалить новый, который вы создали по ошибке, вы все равно должны иметь существующий.
Я подозреваю, что он создал новую конфигурацию запуска для "Run as Maven Test", и теперь вы всегда начинаете этот.
Если вы используете Spring Boot, и приведенные выше рекомендации не работают, вы можете посмотреть представление Eclipse Problems (доступно в окне → Показать представление → Проблемы).
Например, вы можете получить ту же ошибку (ошибка: не удалось найти или загрузить основной класс groupId.Application), если один из ваших файлов jar поврежден. Eclipse будет жаловаться на то, что он не может найти класс приложений, хотя причиной является плохая банка.
В представлении "Проблемы", однако, будет идентифицирован плохой банд для вас.
В любом случае мне пришлось вручную перейти на локальное mvn-репо (в .m2) и вручную удалить поврежденную банку и обновить ее (щелкните правой кнопкой мыши по проекту в обозревателе пакетов), Maven → Update Project... → ОК (при условии, что правильный проект отмечен чек).
Это случилось со мной после того, как я обновил pom (добавлены некоторые зависимости).
Следующий шаг помог мне избежать этой ошибки
right click on the project > maven > update project
Используйте команду spring -boot: run, чтобы запустить приложение загрузки spring:
Предпосылка: 1. Добавьте следующее свойство в pom.xml
<property>
<start-class>com.package.name.YourApplicationMainClass</start-class>
</property>
2. Создайте свой проект
Затем настройте команду maven с помощью spring -boot: run.
Щелкните правой кнопкой мыши проект | Запустить как | Запустить конфигурацию... | Добавьте новую конфигурацию Maven с помощью команды spring -boot: запустите
В случае, если кто-то использует Gradle для сборки, исправить это можно, добавив следующие строки в файл build.gradle
apply plugin: 'application'
mainClassName = "com.example.demo.DemoApplication"
Я использовал версию spring 1.5.3.RELEASE и задал зависимости pom, такие как
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
И мой основной класс был
@SpringBootApplication
public class SpringAppStarter {
public static void main(String[] args) {
SpringApplication.run(SpringAppStarter.class, args);
}
}
Но при выполнении основного класса я получал:
Не удалось найти или загрузить основной класс... с моим именем класса.
Я мог видеть, что класс доступен в пути к классу, и я использовал STS IDE.
У меня не было причин для проблемы, тогда я попробовал ручную сборку через maven с помощью
mvn clean install
Еще проблема была тогда, когда я понял, что мой проект имеет две библиотеки
Что я сделал:
Я создал другую папку mavenRepo и снова создаю ее и обновляю свой проект. После этого он работал, и я увидел, что библиотека Maven была удалена из пути к классу проекта.
Проблемы были во время выполнения, когда он получал несколько версий, поэтому он не смог найти подходящий класс для выполнения моего приложения. Другое решение, перечисленное на этой странице, также решает проблему, но если вы ошибаетесь в
Надеюсь, что это может решить проблему, если кто-то получит эту проблему
удаление старых банок из .m2 и обновление проекта maven должно быть основным шагом. В большинстве случаев это решает проблему. Причиной этой проблемы являются в основном поврежденные старые банки
Проект: Spring Boot Tool: STS
Решить Шаги:
Обнаружил ту же проблему и смог ее исправить, выполнив следующие действия:
Если вы столкнулись с
ошибка: не удалось найти или загрузить основной класс в проекте maven
сделай это, это сработало для меня:
Причина ошибки: причиной этой ошибки является файл jar или зависимость для запуска проекта maven. Не установлено.
Решение для ошибки: перейдите в папку проекта (например: D:\office\OIA-service-app
)
в адресной строке команды компьютера cmd
и нажмите клавишу ввода.
В командной строке введите команду mvn clean install
, убедитесь, что у вас есть подключение к Интернету.
Если вы не можете начать игру типа упаковки проекта. Я использовал плагин сборки maven с этой конфигурацией;
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version><!--$NO-MVN-MAN-VER$ -->
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.ttech.VideoUploaderApplication</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
и моя упаковка tpe была войной, я получил, не могу найти исключение основного класса bu, я изменил упаковку на jar, это сработало;
<groupId>com.ttect</groupId>
<artifactId>VideoUploadListener</artifactId>
<version>1.0.0</version>
<packaging>**jar**</packaging>
Я новичок в загрузке spring и использую STS с maven build. Я сделал все, что упоминалось выше, но не будет работать для меня. Я заметил две проблемы в окне проблем STS. На пути отсутствовал файл jar (C:\Users\UserName.m2\repository\com\jayway\jsonpath\json-path\2.2.0). Я сделал следующее, путь не сильно рекомендуется, но работал у меня.
1) Я удалил папку .m2 из местоположения пути
2) Перезапуск STS
3) Щелкните правой кнопкой мыши папку проекта → maven → проект обновления → отметьте "Принудительное обновление снимков/выпусков" → Нажмите "ОК".
Maven обновил свои зависимости, и проблема решена.
В моем случае помогло следующее:
Добавлен следующий раздел в пом
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
Запустил его с помощью Maven3, и это сработало
Я также получил эту ошибку, не имел никакой подсказки. Я мог видеть класс и банки в целевой папке. Позже я установил Maven 3.5, переключил локальное хранилище с диска C на другой диск через conf/settings.xml Maven. После этого все работало отлично. Я думаю, что наличие локального репо на диске C было главной проблемой. Хотя репо имел полный доступ.
Я знаю, что это довольно поздний ответ. Но это все еще может помочь некоторым новым ученикам. Следующий пример предназначен только для Springboot с NETBEANS. Мне пришлось сделать следующие шаги:
Шаг 1 Следуйте @Mariuszs ответ.
Шаг 2. Щелкните правой кнопкой мыши на проекте → Свойства → RUN. Убедитесь, что в поле Main Class указан правильный начальный класс, иначе нажмите кнопку обзора и выберите один из доступных классов.
Шаг 3 Нажмите OK-> ОК. Тан это все. Спасибо.
У меня возникла такая же проблема, просто удалите папку.m2 из вашего локального хранилища. Надеюсь, это сработает.
Для меня проблема была связана с неправильно настроенными строителями (eclipse-> проект → properties-> строители).
Я использую двух строителей
Я не проверял Java Builder, когда пытался использовать сопоставленные задачи Ant для всего. Включение обоих сборщиков было исправлением в моем случае.
Я столкнулся с той же проблемой. Я удалил целевую папку и запустил maven install, все заработало.
У меня была похожая проблема, когда я добавлял в свой проект зависимость безопасности Spring, затем я удалил свою целевую папку и снова использовал maven update. Это сработало для меня.
Это случилось со мной тоже. В моем случае это произошло только тогда, когда в исходном коде присутствовал класс HttpServlet
(идея Intellij не давала ошибки времени компиляции, пакет сервлета импортировался очень хорошо, однако во время выполнения была ошибка main class
).
Мне удалось это решить. Я пошел в Файл - Структура проекта:
Затем к модулям:
Рядом с модулем сервлета была предоставлена область действия. Я изменил это на Компиляция:
И это сработало!
Даже когда я столкнулся с той же проблемой, позже обнаружил, что это произошло из-за того, что операция сборки maven не выполнялась должным образом в моей среде. Пожалуйста, проверьте это в вашем случае также.
Я столкнулся с той же ошибкой, хотя я использовал сборку Gradle. Передача действий по сборке/запуску IDE в Gradle решила мою проблему.
Intellij: Настройки → Сборка, Выполнение, Развертывание → Инструменты сборки → Gradle → Runner