我想打包兩個或更多非常相似的分佈,唯一的區別是將在這些分佈內的數據集的路徑。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