0

Web リソースの pom.xml ファイルでフィルタリングを有効にしました。Mavenを使用してjspでbuild-dateを更新しています。

このために、pom.xml に次の行を記述しました。

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.build.timestamp.format>MMM dd, yyyy</maven.build.timestamp.format>
        <build-date>${maven.build.timestamp}</build-date>
    </properties>

        <artifactId>maven-war-plugin</artifactId>
        <version>2.3</version>
        <executions>
            <execution>
                <id>default-war</id>
                <phase>package</phase>
                <goals>
                    <goal>war</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <webResources>
                <resource>
                    <directory>src/main/webapp</directory>
                    <filtering>true</filtering>
                </resource>
            </webResources>
        </configuration>
    </plugin>

私のjspでは、日付を次のように書いています-

<span class="note">Last updated on ${build-date}</span>

Windowsシステムでビルドすると、完全に機能し、日付が正しい形式(MMM dd、yyyy)に置き換えられますが、Linuxシステムでjenkinsを使用してこのプロジェクトをビルドすると、日付が正しい形式ではありません(MMM dd、yyyyではありません) . 20131022-1416 など、他の形式で表示されます。

問題が見つかりません。Linuxシステム、ジェンキン、または別のmavenバージョンが原因ですか。

4

1 に答える 1

1

私は同じ問題を抱えていましたが、Mavenの問題があるようです。バイパスするために、このmaven-timestamp-pluginを使用して ${timestamp} maven 変数を設定し、それをrelease.propertiesファイルで参照しました。

ポンポン設定:

<plugin>
  <!-- workaround for ${maven.build.timestamp} not being available when filtering resources -->
  <groupId>com.keyboardsamurais.maven</groupId>
  <artifactId>maven-timestamp-plugin</artifactId>
  <version>1.0</version>
  <configuration>
    <propertyName>timestamp</propertyName>
    <timestampPattern>dd/MM/yyyy HH:mm:ss z</timestampPattern>
  </configuration>
  <executions>
    <execution>
      <goals>
        <goal>create</goal>
      </goals>
    </execution>
  </executions>
</plugin>

プロパティ ファイル:

# date when the current release was built
build.date=${timestamp}
于 2013-11-05T17:09:21.590 に答える