Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven程序集描述符属性_Java_Maven_Maven Assembly Plugin - Fatal编程技术网

Java Maven程序集描述符属性

Java Maven程序集描述符属性,java,maven,maven-assembly-plugin,Java,Maven,Maven Assembly Plugin,我想打包两个或更多非常相似的发行版,唯一的区别是这些发行版中数据集的路径 给出以下路径示例:${project.basedir}/src/config/dataset1 是的,您可以为此使用属性 在pom.xml中为不同执行的零件创建属性(使用默认值)。例如: 配置/数据集 在程序集描述符中使用它们,就像在任何其他属性中一样(例如${project.basedir}) 对于不同的执行,您可以: 使用多个构建配置文件(),其中覆盖属性值 或者直接将值作为mvn调用参数传递(如mvn pac

我想打包两个或更多非常相似的发行版,唯一的区别是这些发行版中数据集的路径

给出以下路径示例:${project.basedir}/src/config/dataset1



是的,您可以为此使用属性

  • pom.xml
    中为不同执行的零件创建属性(使用默认值)。例如:
  • 
    配置/数据集
    
  • 在程序集描述符中使用它们,就像在任何其他属性中一样(例如
    ${project.basedir}

  • 对于不同的执行,您可以:

    • 使用多个构建配置文件(),其中覆盖属性值

    • 或者直接将值作为mvn调用参数传递(如
      mvn package-Dprop=val


  • 另外,如果您想在任何其他地方使用这些属性,您可以使用其他maven插件(例如,)在任何配置中通过占位符填充它们。

    我知道这种可能性,但这并不是我想要的。配置文件是一种可怜的解决方案,我仍然希望有更好的解决方案。你可以将任何属性传递给maven,比如
    mvn install-Dproperty=value
    ,但我仍然认为在一个地方(pom内部)声明所有可能的属性值更好。别误会,在pom内部声明属性完全可以。使用配置文件创建不同的发行版更像是一种黑客行为,而不是解决方案,而且对我来说,配置文件的滥用。
    <properties>
        <dataset.dir>config/dataset</dataset.dir>
    </properties>