contentSpringBoot1.5系を2.1系にあげた話JavaspringgradleJVMspring-bootはじめにどうも@chan_kakuです今回はSpringBoot1.5系が今年の8月でEOLになってしまうということでその対応をしてみて、苦労した点などを述べていきたいと思います。SpringBootについてSpringBootとはSpringフレームワークをベースとしたアプリケーションを簡単に作成することができるフレームワークのことです。詳しくは公式ドキュメントをみてください。'org.springframework.boot:spring-boot-starter-test'}変更点boot1.5系ではありませんでしたが、Documentによるとio.spring.dependency-managementを追加しないといけなくなったようですpluginsの書き方Gradle3系ではJavaやSpringBootなども以下のように記載していました。'org.springframework.boot'しかしながらGradle5系からは書き方が変更になり以下のようにブロックとして書くことが推奨されるようになりました。'java'}dependenciesの書き方dependenciesの書き方も大きく変更されました。Gradle3系までの書き方はこのような書き方となってました。build.gradlecompile('org.springframework.boot:spring-boot-starter')compile('org.springframework.boot:spring-boot-starter-web')//.....などなど基本的に依存ライブラリはcompileで書いていました。Gradle5系ではimplementationと言う書き方が増えており、compileはdeprecatedになってましたcompileとimplementationの違いとしては、簡単に言うと、依存関係の伝搬の範囲です。したがって、以下のようにcompileと書かれていた部分を一旦implementationに置き換えていきましたbuild.gradleimplementaion('org.springframework.boot:spring-boot-starter')implementaion('org.springframework.boot:spring-boot-starter-web')//.....などなどjar周りの書き方こちらも少しだけ変更されていました。"1.0.0-SNAPSHOT"}baseNameがarchiveBaseNameへarchiveNameがarchiveFileNameへ変更されたようですこれ以外にもappendixなども変更されていますので、ぜひDocumentをご覧ください!!その他苦労した点などdoma2について今回バージョンアップしたプロジェクトのDBアクセスにはdoma2を利用していました元々のdependenciesには以下のように書いていました。5系からはアノテーションプロセッサをコンパイル時のクラスパスから取得する方法がサポートされなくなるらしいからです。したがって、domaだけではなく今までアノテーションプロセッサをクラスパスから取得していたようなライブラリを利用している場合はこのようにannotationProcessorを追加しなくてはならなくなりました。jacksonについてjackson(ジャクソン)とは、JSON形式のデータを処理するためのJavaライブラリで、今回の対象のプロジェクトで使われていました。こちらも例のごとくcompileを単純にimplementaionに置き換えたところdoma2の時と同じようにjacksonライブラリ内のBean登録あたりエラーが出ていました。こちらはバージョンを最新にすることで解決することができました。最後に今回はこのマイグレーションがどれくらい難しいのか測るために出来るだけ依存ライブラリの少ないプロジェクトを対象に行なってみました。おもっていたよりハマりどころが多く、個人的には難しい印象でした。1.5系のEOLが今年の8月と言うことなので、出来るだけ早めに動かれることをおすすめします!この記事が皆さんの参考になれば幸いです。普段はJavaったり,VueったりしてますFollowフリュー株式会社プリ機やWEBサービス、ゲームなど様々なジャンルの開発をしています。upLoginユーザーは見つかりませんでした。