如何创建一个包含 shell 脚本和属性文件的 maven 程序集,而不是 jar 中?
我正在尝试使用 Maven 构建一个独立的应用程序
使用如何使用 Maven 创建依赖项完好无损的独立应用程序中描述的程序集插件?
这将创建包含
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 移到脚本文件夹中
- 修改了我的程序集.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}的