0

POM バージョンとタイムスタンプをテキスト ファイルに書き込みたいと思います。

したがって、次のsrc/main/resources/versionフォルダーにプロパティファイルを作成しました。

product.version = ${project.version}

そして私のに追加しましたpom.xml

<resource>
    <directory>${basedir}/src/main/resources/version</directory>
    <filtering>true</filtering>
</resource>

私の出力テキストファイルはこれを言います:

Version = ${project.version}
Timestamp = 277466182879304

私は何を間違っていますか?

4

1 に答える 1

0

変数は${project.version}ではなくと呼ばれます${pom.version}

[編集]古いバージョンの m2e プラグインは、Eclipse がプロジェクトをビルドするときに Eclipse のリソース コピー ターゲットを実行しないように構成できます。つまり、Eclipse から起動する単体テストとmain()メソッドの場合、リソースは更新されず、古い値が表示されます。

また、コマンド ラインから Maven を実行する場合は、プロジェクトの完全な再構築を強制するようにしてください。そうしないと、Eclipse が混乱し、奇妙なエラーが発生します。

このような問題が発生した場合は、まずコマンド ラインから Maven を実行して、Maven または m2e (構成) の問題であるかどうかを確認します。

次のステップは、 を使用して Eclipse 内から Maven を実行することRun as.../Maven installです。これにより、Maven を使用して m2e ショートカットなしでプロジェクトがビルドされます。

それらが機能する場合、Eclipse の応答性を維持するためにいくつかのコーナーをカットしようとする m2e の効果です。最新バージョンの m2e (1.2.0) を使用していることを確認してください。これを修正する必要があります。それでも機能しない場合は、バグ レポートを提出してください。

これは私にとってはうまくいきます:version.properties含む

version=${project.version}
timestamp=${build.time}

Maven 3.x のバグのため、プラグインを使用して正しいビルド タイムスタンプを取得する必要があります。

                   <plugin>
                            <groupId>com.keyboardsamurais.maven</groupId>
                            <artifactId>maven-timestamp-plugin</artifactId>
                            <configuration>
                                    <propertyName>build.time</propertyName>
                                    <timestampPattern>yyyy.MM.dd HH:mm:ss</timestampPattern>
                            </configuration>
                            <executions>
                                    <execution>
                                            <goals>
                                                    <goal>create</goal>
                                            </goals>
                                    </execution>
                            </executions>
                    </plugin>
于 2012-12-20T13:01:50.450 に答える