Я пытаюсь добавить файл лицензии ко всем моим флягам при выполнении сборки maven. У меня есть лицензия на каждый файл класса, но я хочу добавить License.txt в каждую папку META-INF в каждой банкеДобавление файла в jar во время сборки maven
В моем проекте есть мастер-поум, в котором есть полдюжины модулей, тогда эти модули имеют модули их и, в конечном итоге, получить проект, который генерирует/target/< .jar-файл>. Лицензии build и class level работают, я просто хочу добавить физический License.txt в папку META-INF.
Мой файл хранится (относительно главной POM) в файле /src/resources/src-license.txt. Мне действительно нужен автоматический метод, чтобы гарантировать, что если/когда лицензия изменится, я должен обновить 50 файлов, я могу просто обновить тот, который затем скопирован в другие места.
Я попытался с помощью
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src/resources</directory>
<targetPath>/META-INF</targetPath>
<includes>
<include>src-license.txt</include>
</includes>
</resource>
</resources>
....
</build>
Но это не кажется, сделать трюк. Я также пытаюсь использовать некоторые альтернативы выходному пути, такие как $ {project.build.outputDirectory}/META-INF или */META_INF, также безрезультатно. У кого-нибудь есть опыт в том, как это сделать? Спасибо
Кроме того, я использую плагин maven-license-plugin, чтобы гарантировать, что каждый файл класса имеет информацию о лицензии, вставленную в него, и это работает по назначению. Но опять же, что внутри файлов классов, я ищу внешний файл .txt в каждом < * .jar>/META-INF/
У вас есть многомодульный проект с 'src-license.txt' в родительском проекте. Вы хотите скопировать его во все подмодульные баночки. Правильно? –
есть. это точно. Я хочу, чтобы этот файл лицензии появлялся в папке META-INF каждого сгенерированного баннера. –
Кажется, что путь 'src/resources' недопустим для подмодулей. Попробуйте использовать что-то вроде '$ {project.parent.relativePath}/src/resources'. –