我想打包两个或更多非常相似的分布,唯一的区别是将在这些分布内的数据集的路径。Maven组件描述符属性
鉴于这个例子路径:$ {} project.basedir/SRC /配置/数据集1
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>dataset1</id>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.basedir}/src/config/dataset1/aaa</directory>
<outputDirectory>conf/aaa</outputDirectory>
</fileSet>
<fileSet>
<directory>${project.basedir}/src/config/dataset1/bbb</directory>
<outputDirectory>conf/bbb</outputDirectory>
</fileSet>
</fileSets>
<!-- MANY MORE FILESETS... -->
</assembly>
现在正是我想要为不同的数据集相同的装配描述符,例如:$ { project.basedir}/src/config/dataset2
当然,我可以创建两个装配描述符。但是,我必须记住在需要时更改多个位置,或者在添加另外两个数据集时更糟糕。
有没有办法解决这个问题,比如创建多个执行并将属性传递给它?或者更好的东西?
编辑: 这个愿望项目将解决一切: https://jira.codehaus.org/browse/MASSEMBLY-445
我知道这种可能性,但那不是我正在寻找的。配置文件是一种可怜的解决方案,我仍然希望有更好的东西.. – vehovmar
你可以将任何属性传递给maven像'mvn install -Dproperty = value',但我仍然认为在一个地方声明所有可能的属性值) 更好。 – arghtype
不要误解我的意思,在pom中声明属性是非常好的。使用配置文件创建不同的分发版本比解决方案更复杂,而且我滥用配置文件。 – vehovmar