Могу ли я создать исполняемый jar с "build-info" от "Spring Boot Maven Plugin"? - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь создать исполняемый jar-файл с помощью «Spring Boot Maven Plugin».

Обычно я могу сделать это, установив «repackage». goal в моем pom. * Файл 1058 * был установлен следующим образом.

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.2.6.RELEASE</version>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>

И моя команда сборки выглядит следующим образом:

mvn clean package spring-boot:repackage

Это работает, но я хочу иметь META-INF / build -info.properties в файле jar.

Имея этот файл, я могу проверить информацию о сборке в своем приложении springboot, поэтому я хочу получить ее.

Для генерации " META-INF / build-info.properties"файл, мне нужно установить " build-info " цель.

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.2.6.RELEASE</version>
    <executions>
        <execution>
            <goals>
                <goal>build-info</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Что ж, сейчас у меня возникла дилемма потому что

  1. Установка цели "repackage" -> исполняемый файл jar без"META-INF / build-info.properties"
  2. Установка цели "build-info" -> неисполнимый jar с"META-INF / build-info.properties"

Я хочу иметь исполняемый файл банка с"META-INF / build-info .properties ".

Я довольно новичок в этом процессе maven. Кто-нибудь может мне помочь?


РЕШЕНО

Я решил эту проблему. Проблема была spring-boot-maven-plugin была не в том месте. Это было внутри <pluginManagement>. Я переместил этот плагин в <plugins>

Как ответил @Mark Bramnik, я могу установить обе настройки цели в pom. xml, и достаточно команды mvn clean package!

1 Ответ

0 голосов
/ 30 апреля 2020

Вы можете запустить несколько целей одного и того же плагина. Так что вы, вероятно, можете сделать что-то вроде этого:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.2.6.RELEASE</version>
    <executions>
        <execution>
            <goals>
                <goal>build-info</goal>
            </goals>
        </execution>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>
...