Я пытаюсь использовать Maven для создания автономного приложения
Использование плагина сборки, описанного в Как создать автономное приложение с зависимостями без изменений с помощью Maven?
Это создает zip-дистрибутив, содержащий
widget-1.0
widget-1.0/lib/widget.jar
widget-1.0/lib/3rdpartyjar1.jar
widget-1.0/lib/3rdpartyjar2.jar
...
но в моем src-дереве я:
src/main/bin/widget.sh
и это не делает окончательного распространения zip, я бы хотел, чтобы он пошел сюда
widget-1.0/widget.sh
Также в моем дереве src у меня есть файл свойств в
src/main/properties/widget.properties
который в настоящее время пробивается в
widget-1.0/lib/widget.jar
но поскольку я хочу, чтобы он редактировался, я хочу, чтобы он находился в
widget-1.0/widget.properties
Можно ли сделать это в maven?
ИЗМЕНИТЬ Использование информации в блоге стало работать следующим образом:
- Переименованная папка bin в папку сценариев, поскольку это стандартное имя Maven
- Перемещено widget.properties в папку script
- Модифицировал мой файл assembly.xml для хранения набора файлов
Вот новый xml
<?xml version="1.0" encoding="UTF-8"?>
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>distribution</id>
<formats>
<format>zip</format>
</formats>
<dependencySets>
<dependencySet>
<scope>runtime</scope>
<outputDirectory>lib</outputDirectory>
<unpack>false</unpack>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.scriptSourceDirectory}</directory>
<outputDirectory></outputDirectory>
<includes>
<include>widget.sh</include>
<include>widget.properties</include>
</includes>
</fileSet>
</fileSets>
</assembly>
Однако незначительная точка, но не в состоянии найти список переменных переменных maven в любом месте, т.е. существует эквивалент ${project.build.scriptSourceDirectory} для папки свойств