#java #maven #spring-boot
#java #maven #spring-boot
Вопрос:
Используя Maven, я пытаюсь включить некоторые файлы лицензий и авторских прав на верхний уровень моей spring boot jar. Эти файлы ДОЛЖНЫ быть на верхнем уровне, чтобы пройти проверку инструментария нашей компании.
Я включил файлы следующим образом
<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>${project.basedir}/..</directory>
<filtering>true</filtering>
<includes>
<include>HERE_NOTICE</include>
<include>LICENSE</include>
</includes>
</resource>
Обратите внимание, что я не указал целевой путь (который по умолчанию должен быть на корневом уровне). Однако, когда я создаю jar (с помощью mvn clean install) и заглядываю внутрь jar, файлы находятся в каталоге «BOOT-INF»
0 Fri Mar 15 14:40:20 EDT 2019 META-INF/
615 Fri Mar 15 14:40:20 EDT 2019 META-INF/MANIFEST.MF
0 Fri Mar 15 14:40:20 EDT 2019 BOOT-INF/
0 Fri Mar 15 14:40:20 EDT 2019 BOOT-INF/classes/
519 Fri Mar 15 14:40:16 EDT 2019 BOOT-INF/classes/LICENSE
12143 Fri Mar 15 14:40:16 EDT 2019 BOOT-INF/classes/HERE_NOTICE
Мой spring-boot-maven-plugin настроен следующим образом
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>${start-class}</mainClass>
</configuration>
</plugin>
Есть ли что-нибудь, что я могу настроить, чтобы эти файлы оставались наверху?
Комментарии:
1. К сожалению, я не вижу здесь никакой опции, потому что spring boot работает и имеет специальный макет в результирующем файле для определенной цели. Я не вижу никаких параметров конфигурации в документах docs.spring.io/spring-boot/docs/current/maven-plugin/… Итак, я бы предположил, что вашей компании нужно подумать об изменении инструментов проверки.