2016-06-16 5 views
0

私はプロジェクトをデバッグしていますが、WARファイルを作成すると内部のjarファイルは最新ではないようです(これらのjarファイルを作った)。 サーバー上のwarファイルをテストしていたときにこの問題について認識しました。サーバーが請願を受け取ったときにjarファイルの1つを変更してメッセージを送信しました。Java warファイル内のjwファイルのリフレッシュ方法

このメッセージは送信されません。 'mvn clean package'のようなコマンドがあり、すべてのプロジェクトを再構築しますか? このようなwarファイルを作成します。jar cvf web-archive.war

+0

ターゲットフォルダがある場合は、内容を削除してもう一度ビルドしてください – JavaHopper

+0

JARを正しい更新バージョン番号で依存関係として宣言していないようです。あなたが強制しない限り、Mavenは強制的にJARを再ダウンロードすることはありません。両方のプロジェクトを同時に作業したい場合は、両方とも開くことができます。EclipseのMavenプラグインは、コンパイルされたファイルを直接使用できるほどスマートです。 –

+0

あなたの問題を示す最小のPom宣言と火構造を含めてください。 –

答えて

1

考えられる原因:バージョン番号を変更せずにjarファイルを更新して、古いキャッシュされたコピーを使用できると仮定するようにしました。時折、私がしなければならなかった:

  • MVNきれいな依存関係をインストール私の地元.m2 /キャッシュからアーティファクト(複数可)を削除
  • 私のターゲットフォルダを削除

    • MVNきれいなパッケージ私のプロジェクト
  • +0

    この手順は過剰です。バージョン番号を変更する必要はありません。プロジェクトをビルドしてインストールするだけです。この場合、mavenはあなたのプラグインの最新バージョンをローカルMavenリポジトリに入れます。だから、 'mvn clean install'で十分でしょう。 –

    +0

    合意されましたが、一度は、頑固に協力することを拒否されたmavenとしてこれに頼らざるを得ませんでした。何らかの理由で更新されたjarがビルドされていたものの、期待どおりにインストールされていないと考えていました。 – pmorken

    2

    他のコメントと同様、ほとんどの場合、ライブラリのjarファイルは更新されていません。 warファイルを作成する前に再構築する必要があります。

    を使用しない理由あなたはすでにライブラリをMavenを使用した場合は、再構築し、すべての プロジェクトに「MVNきれいなパッケージ」のようなコマンドはありますか?

    はい、このようなコマンドがあり、プロジェクトを再構築します。ただし、現在のプロジェクトが依存しているプロジェクト(つまり、図書館)を再構築することはありません。すべての 'ライブラリ'プロジェクトに対してこのコマンドを実行する必要があります。

    代わりにmvn clean installを使用することをお勧めします。これは、プロジェクトを再構築してローカルMavenリポジトリに格納するので、他のすべてのプロジェクトでローカルにビルドJarを使用できるようになります。

    あなたはすでにMavenを使用しているので、それを使用してwarファイルを構築することをおすすめします。これは非常に便利です。 Maven WAR plugin

    関連する問題