クラスパス内のスナップショットのタイムスタンプ付きバージョン(api-0.5.0-20110706.191935-1.jarなど)を使用してMavenから機能テストを実行したいと思います。しかし、Artifactoryリポジトリにタイムスタンプ付きのバージョンがあることがわかりましたが、Mavenはapi-0.5.0-SNAPSHOT.jarを参照し、ローカルリポジトリから解決しています。Maven:タイムスタンプの付いたバージョンのスナップショットをクラスパスで使用する方法を教えてください。
背景 継続的インテグレーション(CI)サーバーには2つの関連ビルドが設定されています。サーバービルドはmvn deploy
で実行され、新しいスナップショットは正しく構築されたリポジトリで表示されます。
最新の正しいビルドを取得し、開発サーバーにデプロイしてからテストを実行する機能テストビルドもあります。
機能テストのビルドはAPI-0.5.0-SNAPSHOT.jarに依存しているようです。サーバービルドを実行すると、ローカルリポジトリのスナップショットが置き換えられ、機能テストビルドからNoClassDeFondエラーが発生します。
したがって、タイムスタンプ付きのバージョンを使用する機能テストビルドが必要です。私は現在の承知している
オプション:
- POMでスナップショットリポジトリを宣言し、uniqueVersionを確保する(私はすぐにこれをしようとしてビルドを実行します)が真です。
version lock:snapshots
の目標を使用して、pomのバージョンをタイムスタンプのバージョンに設定します。- CIサーバーからの1回の呼び出しでサーバービルドと機能テストを実行することを検討してください。 (つまり、サーバービルドを削除する)。
公開されたアルゴリズムへのリンクを提供できますか?同様の質問を投稿していますが、私たちはこれを見つけるのに困っています。 –
リンクをご提供の場合は、次の質問にお答えください:http://stackoverflow.com/questions/7662009/which-jar-ends-up-on-the-classpath-in-a-maven-incremental-build –