maven 3を使用しており、私は多くのモジュールを持つOSGiプロジェクトで作業しています。 各モジュールのバージョンが異なるため、誰かが変更を加えたときにバージョンを-SNAPSHOTに更新する必要があります。しかし、いつかは、バージョンを変更するのを忘れていました。展開が行われても何も展開されず、新しいコードがリリースに埋め込まれていません。 なぜ、mavenプラグインをデプロイして、リリースjar(デプロイされていることを確認していないため、スナップショットではない)だけにmd5検証を追加し、モジュールのように見えるので、 "check version for module X"変更はありますがバージョンは以前と同じですデプロイメント前のmavenデプロイメントチェック
私がデプロイすると、モジュール用のリリースジャーがあり、ターゲットディレクトリのjarとmd5を比較しますが、マニフェストのためにmd5は決して同じではありませんいつも私の警告。 ファイルでmd5ファイルをチェックするコードを少し変更しましたが、ファイルのリスト(MANIFEST ....)をチェックせずに別のファイルのレポートを作成できるようになりました ファイルの90%に同じmd5、他ではないが、もしあれば。実際には2つの異なるファイルを開きます...ネクサスjarはLinux上にビルドされているため、ターゲットjarはWindows上にビルドされています...
どうすれば作成できますかjarファイルはLinuxやWindows上に同じmd5でビルドされていますか?それは可能でしょうか、またはそれはprocesseur、linux/windowsのような多くのものに依存していますか?
事前によるおかげで、あなたは...他のmanearに私がやりたい任意の他のアイデアを持っている場合
まず、何も展開されていないということは、新しいSNAPSHOTが変更され、SNAPSHOTのタイムスタンプが異なるために何か変更された場合、OSGiでは別の修飾子を意味するのでしょうか?リリースに統合されました... btw:MANIFESTの制限で定義されたバージョンか、それともどのように定義されていますか? – khmarbaise
バンドルの修飾子を変更するのを開発者が忘れた場合は、何も展開されません。バージョンが1.0.0の場合、このバージョンはすでにnexus上に存在し、mvndeployはanyrhingを配布しません。しかし、開発者はJavaクラスを変更し、バージョンを1.1.0-SNAPSHOTに渡してもコードはデプロイされません。私たちは静的バージョンを定義しないようにmaven-bundle-pluginを使用しているので、プラグインによってデフォルトの範囲が設定されています。 –
タイコを使っていますか? – khmarbaise