Не удается запустить сервис maven — класс не найден #

#java #spring #maven #intellij-idea

#java #весна #maven #intellij-идея

Вопрос:

Хорошо … впервые в моей жизни как разработчика я понятия не имею, как исправить эту ошибку.

У меня возникли проблемы с командами Maven и Intellij.

(ВАЖНО)

Все команды maven в локальном проекте не работают и возвращают ошибку:

cannot find or load main class #, java.lang.ClassNotFoundException: #

Подробная информация о «#» в сообщении об ошибке.

Мой 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>garantia.safra</groupId>
    <artifactId>gateway</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>gateway</name>
    <description>description</description>

    <properties>
        <java.version>11</java.version>
        <start-class>garantia.safra.gateway.GatewayApplication</start-class>
    </properties>

    <dependencies>

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

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

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

        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwd</artifactId>
            <version>0.9.1</version>
        </dependency>

        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-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>
  

Я попытался удалить папку .m2/ repository, но это не сработало.

Я попытался «Настройки> Сборка, выполнение, развертывание> Инструменты сборки> maven> Импорт» и установить импорт как «project JDK», но это не сработало. (Я использую JDK 11, и он работал раньше)

Я попытался обновить репозитории maven с помощью Intellij (удаленный и локальный), и теперь у меня ошибка из удаленного репозитория (не удается найти какие-либо импортированные классы пакетов)

Единственное, что я сделал, чтобы решить это один раз, это воссоздать проект как новый и добавить все классы и pom.xml , но когда я добавил свои конфигурационные файлы, он снова сломался.

Я использую прокси из рабочей среды (.maven/jvm.config)

 # -Dhttp.proxyHost=<proxy_host>
# -Dhttp.proxyPort=<proxy_port>
# -Dhttps.proxyHost=<proxy_host>
# -Dhttps.proxyPort=<proxy_port>
  

Но все строки прокомментированы правильно?

И application.properties:

 server.address=0.0.0.0
  

Итак … это очень неприятная проблема, и у меня не хватает идей. Может быть, я попытаюсь снова воссоздать проект и повторно импортировать каждый файл, чтобы увидеть, какой из них сломан, но если у кого-то была эта проблема раньше, и он исправил ее … как?

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

1. Работает ли он за пределами IDE из командной строки Maven?

2. нет, я тоже пробовал, та же ошибка. Но по какой-то причине команда сработала, если я добавил ее в качестве команды сборки в intellij … хорошо работала, пока я не обновил pom.xml .

3. Попробуйте очистить или удалить .maven/jvm.config файл, похоже, что он загружается напрямую и не имеет синтаксиса для комментариев.

4. CrazyCoder …. почти 3 недели… ты спас меня. Я искал раньше, чтобы узнать, есть ли синтаксис для комментариев, и я нашел кое-что о ‘#’, но я спешил и не проверял другие источники… Пожалуйста, добавьте свой ответ, и я отмечу его как таковой.

Ответ №1:

Пустой или удаленный .maven/jvm.config файл, он загружается напрямую и добавляется в командную строку, синтаксис комментариев не поддерживается.

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

1. Снова .. ты спас меня.