Весенняя загрузка с maven не копирует каталог ресурсов

#maven #spring-boot

#maven #весенняя загрузка

Вопрос:

Я пытаюсь настроить свой проект spring-boot с помощью maven из https://start.spring.io / (и выберите для создания файла войны)

это мой пом:

 <?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>br.com.natal</groupId>
    <artifactId>integra</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>integra</name>
    <description>Integração para 7 Natal</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.7</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.5.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.5.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>19.0</version>
        </dependency>
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-core</artifactId>
        </dependency>
        <!--<dependency>-->
            <!--<groupId>org.springframework.boot</groupId>-->
            <!--<artifactId>spring-boot-starter-actuator</artifactId>-->
        <!--</dependency>-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-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>
  

но когда я запускаю сборку своего проекта в файл war, ресурсы dir не копируются в .war.

Мне нужно очистить свой проект, запустить mvn spring-boot: run, затем создать файл войны.. поэтому, если я изменю один «,» в моем application.properties мне нужно сделать все заново..

Как я могу это исправить?

tks

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

1. как вы «создаете» свой проект? только «mvn spring-boot: run»?

2. каковы ваши ресурсы «dir»? Какова структура папок вашего проекта?

3. мой каталог ресурсов / src /main/resources

4. @Alex нет` я запускаю mvn war (но для включения /src/main/resources) Сначала мне нужно запустить mvn spring-boot: run

Ответ №1:

Вы сказали, что строите следующим образом:

я запускаю mvn war (но для включения /src/main/resources) Сначала мне нужно запустить mvn spring-boot: run

  • Я предполагаю, что вы имели в виду mvn war:war , однако это не запускает spring-boot-maven-plugin.

  • Вместо этого вы должны создать WAR с mvn clean install помощью, затем spring-boot-maven-plugin будет запущен и repackage в действительную spring-boot war .

Ответ №2:

Я столкнулся с той же проблемой, и моя проблема была вызвана глупой ошибкой. Мое имя папки ресурсов было неправильным` поэтому плагину spring-boot-maven не удалось скопировать ресурсы. Имя моей папки было resource. После изменения его на требуемую структуру папок maven все начинает работать. Ниже приведен плагин` который я использую.

         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
  

и приведенная ниже команда, которую я использую для создания jar.

 mvn -DskipTests clean compile package