Приложение Spring boot не может включиться с консоли как .jar - PullRequest
0 голосов
/ 11 июня 2018

Мое приложение SpringBoot работает хорошо, если я запускаю ее из InteliJ, но когда я пытаюсь открыть из консоли как .jar, я получил:

java.lang.IllegalArgumentException: не найдено классов автоматической настройки вMETA-INF / spring.factories.

Я нашел только одну тему в Stack по этому поводу, и мне не помогает click

Это мой 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.location</groupId>
    <artifactId>mysql-rest-service</artifactId>
    <version>1.0-SNAPSHOTwithIP</version>


    <!-- Define the parent pom -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.8.RELEASE</version>
    </parent>

    <!-- Set the Java version -->
    <properties>
        <java.version>1.8</java.version>
        <start-class>com.location.restservice.Application</start-class>
    </properties>


    <packaging>jar</packaging>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- JPA Data -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <!-- Data REST -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-rest</artifactId>
        </dependency>

        <!-- MySQL Connector-J -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

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

    </dependencies>


    <!-- Spring Boot Maven Plugin -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>

                    <mainClass>${start-class}</mainClass>
                </configuration>

            </plugin>
        </plugins>
    </build>
</project>

Что может быть не так?Как мне следует поступить?Если у вас есть вопрос, пожалуйста, спросите в комментарии.

У меня есть @SpringBootApplication в основном классе

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Убедитесь, что у вашего pom есть следующее:

<packaging>jar</packaging>

с этими зависимостями:

<dependencies>
  <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>com.company.common</groupId>
        <artifactId>common-files</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies> 

и следующей сборкой:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
                <mainClass>${start-class}</mainClass>
            </configuration>
              <executions>
                <execution>
                  <goals>
                    <goal>repackage</goal>
                  </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.2-beta-5</version>
          <configuration>
            <archive>
              <manifest>
                <addClasspath>true</addClasspath>
                <mainClass>com.company.mavenproject1.MainClass</mainClass>
              </manifest>
            </archive>
            <descriptorRefs>
              <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
          </configuration>
          <executions>
            <execution>
              <id>assemble-all</id>
              <phase>package</phase>
              <goals>
                <goal>single</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
    </plugins>
</build>

Get Maven toОбновление проекта, а также снимки и выпуски.

Запустите Maven «чистая установка».

0 голосов
/ 11 июня 2018

Попробуйте выполнить это mvn spring-boot:run

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...