Когда нужно вставлять скрипты в /src/main/scripts (maven standard), а когда нет?
Maven Standard Directory Layout говорит, что сценарии должны быть размещены в src/main/scripts
в проекте maven. Помимо преимуществ "конвенции над конфигурацией" есть ли другие преимущества этого? У меня есть проект, который создает исполняемые jar-with-dependencies, используя плагин сборки. Есть также некоторые полезные сценарии, которые идут вместе с ним. Существуют ли какие-либо инструменты, которые используют этот макет для создания чего-то еще, например, архива, который содержит банку и эти сценарии в разумном месте?
[обновление]
На самом деле, я бы зашел так далеко, что сказал, что размещение сценариев в src/main/scripts
невыгодно, поскольку касается использования плагина maven-assembly. Кажется, что ВСЕ в /src/main
(за исключением src/main/java
, конечно) копируется в корневую директорию jar-with-dependencies, как в src/main/resources
, где это полезно. Но нет веских оснований иметь сценарии в банке, хотя это не наносит особого вреда. Если вместо размещения их в src/main/scripts
один помещает их в src/scripts
(аналогично стандарту src/assembly
, который также не включен), то они не копируются в банку и могут быть скопированы более поздним запуск плагина сборки в более крупный архив.
Обновление: Похоже, что мы должны различать сценарии выполнения, запущенные из кода Java, и другие, которые запускают банку или делают другие вещи. Для первого может быть уместно положить их в src/main/scripts
. Для последнего неуместны.
Обновление: Я ввел ошибку в отношении документации maven об этом.
Обновление: Каталог src/main/scripts
удален из документации стандартного каталога макета из-за того, что он вводит в заблуждение. (Остатки, однако, все еще остаются в Введение в POM, поскольку оно связано с свойством project.build.scriptSourceDirectory
.)