私はSpring Bootのパッケージを「太い」ジャーに理解しようとしています。私が知っていることから、 "fat" jarは独自の特別クラスを持っていて、jarが実行されているときにメインクラスをロードし、それに応じてクラスパスも設定します。このjarパッケージはSpringブートに有効ではないのはなぜですか?
私が理解できないのは、Eclipseを使用してjarのフォルダ構造にすべての依存関係を抽出すると、jarファイルが正しいSpringブートアプリケーションとして実行されなくなる理由です。私はシンプルな春のブートアプリを取るとEclipseからfollowing-を選択し、ここでやっていること繰り返すように
:
エクスポート - > Runnableをジャー - >を選択し、メインクラス - >エキス必要なライブラリのjarに。
jarと同じようにコマンドラインからjarを実行するだけです。春ブーツが最初に起動するが、次のmessage-で失敗します。
2017年5月2日22:06:40.484は3468をWARN --- [メイン] ationConfigEmbeddedWebA pplicationContext:例外は、コンテキストの初期化中に に遭遇 - 玲をキャンセルリフレッシュの試み: org.springframework.beans.factory.BeanDefinitionStoreExcep: 設定クラスのインポート候補を処理できませんでした [com.main.Test Main];ネストされた例外は です。java.lang.IllegalArgumentException:META-INF/spring.factoriesに自動構成クラス が見つかりません。カスタムパッケージ gingを使用している場合は、ファイルが正しいことを確認してください。
spring.factoriesファイルを編集してクラスを追加することはできますか?
SpringがMavenプラグインを使って実際にファイルをパッケージ化する仕組みを理解しようとしています。
私は何とかそれを複製することはできますか? spring.factoriesファイルにクラスを追加して、何らかの形でそれを実行できますか?スプリングブートクラスの読み込み機構はどこかに書かれていますか? –
私はSpringブートのドキュメントへのリンクを追加しました –