如何从Maven的属性中获取分类器名称?

时间:2015-02-20 16:22:36

标签: maven

从Maven的属性中获取分类器名称并将其用作pom.xml中的变量的最简单方法是什么?

例如:

<properties>
   <final_jar>${project.build.finalName}-${classifier}.jar</final_jar>
</properties>

official documentation中没有提及分类器属性。

查看maven-jar-plugin的来源,似乎是从名为maven.jar.classifier的属性中获取它,但它似乎在插件外部不可用。有没有办法访问它?

1 个答案:

答案 0 :(得分:1)

尽管在POM Reference, Maven Coordinates下提及classifier,但必须在maven-jar-plugin section中声明。所以(你说出来)它不属于<project> element's Model

不幸的是,我还没有找到方法来访问maven-jar-plugin的{​​{3}}属性,但声明了额外的<project>属性:

<project>
  ...
  <properties>
    <jar.classifier>CLASSIFIER</jar.classifier>
  </properties>
  ...
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <classifier>${jar.classifier}</classifier>
        </configuration>
      </plugin>
  ...
</project>

Maven maven.jar.classifier超类Model's中有一个Properties properties。但如果它没有被插件使用......

并且还没有属性插值语法(但是?),如:

${project.build.plugins.plugin[<G>:<A>:<V>].<property>}