Добавление текущей даты с фильтрацией Maven2

Django-debug-toolbar помогает получать больше информации о ваших сигналах. Просто объявите их в своих настройках.

50
задан Rich Seller 30 July 2009 в 10:38
поделиться

4 ответа

Вы можете использовать плагин Maven Buildnumber для этого:

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>buildnumber-maven-plugin</artifactId>
      <executions>
        <execution>
          <phase>initialize</phase>
          <goals>
            <goal>create</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <doCheck>false</doCheck>
        <doUpdate>false</doUpdate>
        <timestampFormat>{0,date,yyyy-MM-dd HH:mm:ss}</timestampFormat>
      </configuration>
    </plugin>
  </plugins>
</build>

Дата будет доступна в свойстве $ {buildNumber}.

49
ответ дан 7 November 2019 в 10:27
поделиться

Другое решение - использовать Groovy внутри pom.xml (возможно, не так правильно, как решение, предложенное Томасом Марти):

   <build>
      <resources>
         <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
         </resource>
      </resources>
      <plugins>
         <plugin>
            <groupId>org.codehaus.groovy.maven</groupId>
            <artifactId>gmaven-plugin</artifactId>
            <executions>
               <execution>
                  <phase>validate</phase>
                  <goals>
                     <goal>execute</goal>
                  </goals>
                  <configuration>
                     <source>
                     import java.util.Date 
                     import java.text.MessageFormat 
                     def vartimestamp = MessageFormat.format("{0,date,yyyyMMdd-HH:mm:ss}", new Date()) 
                     project.properties['buildtimestamp'] = vartimestamp
                     </source>
                  </configuration>
               </execution>
            </executions>
         </plugin>
      </plugins>
   </build>

, а затем использовать свойство buildtimestamp :

client.version=${pom.version}
client.build=${buildtimestamp}
11
ответ дан 7 November 2019 в 10:27
поделиться

Начиная с Maven 2.1 M1, теперь вы можете выполнять $ {maven.build.timestamp} при условии, что вы также определите $ {maven.build.timestamp.format}

<properties>
    ...
    <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
    ...
</properties>
22
ответ дан 7 November 2019 в 10:27
поделиться

Функция не работает с фильтрацией ресурсов Maven 2.2.1.

См.: https://issues.apache.org/jira/browse/mresources-99

Но вы могли бы создать пользовательскую недвижимость в родительском POM:

<properties>
    <maven.build.timestamp.format>yyMMdd_HHmm</maven.build.timestamp.format>
    <buildNumber>${maven.build.timestamp}</buildNumber>
</properties>

, где ContingNumber - это новое свойство, которое можно отфильтровать в ресурсы.

73
ответ дан 7 November 2019 в 10:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: