1)EclipseでMavenを使用しているpom.xmlプロジェクトにSpring Context依存関係を追加しました。Mavenの最終的にビルドされインストールされた.JARに依存性バイナリはどのように含まれていますか?
2)私は、プロジェクトの「インストール」フェーズを実行し、それが適切に構築された、と私は私の.JARを解凍したとき
3)、私は私の単一のを見たのプロジェクトは、私の地元の.m2リポジトリにインストールされました私がカスタムを作成したクラス。
これは、2つの質問現れます:
1)は、外部にあることから、クラスが物理的にあなたのクラス内でインスタンス化されている場合、依存クラスは、あなたの最終建てのjarファイルに含まれて?どうして
と
2)私は私のクラスにSpringContextAnnotationConfigクラスをインポートし、そのインスタンスをインスタンス化し、私のプロジェクトをインストールしたとき、私は私の.JARを解凍したとき、私はまだ私だけのカスタムクラスを見ました。これは珍しいことですか?またはSpringContextAnnotationConfigが.classバイナリに書き込まれているので、自分の.jarを別のJVMにデプロイするときに、カスタムビルド.classバイナリ内のすべての依存関係を嫌うのですか?
おかげ
SOLUTION:
問題は、私はそれはWARの場合と同じようにJAR出力のために同じことを行うためにMavenを期待していたということでした。 webappアーキタイプを使用してWARファイルを生成するとき、Mavenは必要な依存関係ジャーを自動的にWEB-INFディレクトリにパッケージ化しました。
私は基本的に、リモートの新しいサーバー上のコンテナが依存関係バイナリを持たずにクラスを実行する方法を理解しようとしていました。私はJARファイルを生成するために構築されたmavenを実行しようとしていましたが、これは私の依存関係を含めて終了しませんでした。しかし、WARファイルをビルドするためにmaven installを実行したとき、私の依存関係はすべて展開の準備が整いました。
1)yesと2)実際に実行可能なjarファイルまたはwarファイルを実際に作成しない限り、ライブラリは含まれません。依存関係を登録するだけですが、それらはパッケージ化された.warまたは.jarにのみ含まれます – rptmat57
jarはコードベース用にのみ作成されます。外部依存関係はjar自体であるため、再度作成する必要はありません。すべてをzipで束ねることができます。実行中にすべての依存関係をクラスパスに追加する – jos