Я использую плагин Build Helper Maven, чтобы прикрепить изменения SQL в качестве артефакта развертывания, но плагин дает сбой, когда дополнительный артефакт отсутствует.
Не удалось установить артефакт org.test.app1:app1:sql:1.2.1: app1/src/main/database-source/1.2.1/dba.sql (Нет такого файла или каталога) -> [Справка 1]
Файл SQL присутствует для большинства версий приложений, но не для всех, поскольку второстепенные версии приложений могут не включать изменения SQL. Структура каталогов для файлов SQL включает их версии отдельно, как показано ниже:
src/
main/
database-source/
1.0.0/
dba.sql
1.2.0/
dba.sql
1.2.1/
-- no "dba.sql" file here since there aren't SQL changes in this version
1.3.0/
dba.sql
Конфигурация плагина Build Helper, которую я использую:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>src/main/database-source/${project.version}/dba.sql</file>
<type>sql</type>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
Я читал о теге <skipAttach>
, но не понимаю, как его использовать.
Как я могу молча пропустить лишний артефакт, когда файла нет (как в версии 1.2.1 выше)?
src/main/resources
? - person khmarbaise   schedule 24.01.2020src/main/resources
будет включено в файл WAR (для парня из WebSphere), и мне это не нужно. Файл SQL должен передаваться администратору базы данных, совершенно отдельному dpmt, поэтому файл WAR и файл SQL должны быть упакованы отдельно. Хотя я могу ошибаться. - person Joe DiNottra   schedule 24.01.2020<activation><file> <exists>src/main/database-source/${project.version}/dba.sql</exists> </file></activation>
. Может что-то изменилось с 2015 года. - person Joe DiNottra   schedule 24.01.2020<skipAttach>true</skipAttach>
(внутри тега конфигурации)? - person xerx593   schedule 24.01.2020skipAttach
был решением. Немного сложно, но я смог полностью автоматизировать это. Спасибо еще раз. - person Joe DiNottra   schedule 26.01.2020