Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ビルドツールの話(202110社内勉強会)
Search
shimadamiyuki
October 21, 2021
0
62
ビルドツールの話(202110社内勉強会)
月一で実施している社内勉強会の資料です(2021.10)
shimadamiyuki
October 21, 2021
Tweet
Share
More Decks by shimadamiyuki
See All by shimadamiyuki
20240912 JJUGナイトセミナー
mii1004
0
140
STORES決済の裏側のはなし(Code Polaris 色んなエンジニアLT大会)
mii1004
0
200
オブジェクト指向がわからない(202201社内勉強会)
mii1004
0
78
たのしい情報収集(202112社内勉強会)
mii1004
0
55
リファクタリング?(202111社内勉強会)
mii1004
0
46
OpenAPI Generator使ってみる(Java女子部ハロウィンLT)
mii1004
0
49
Hello Spring(202109社内勉強会)
mii1004
0
59
StreamAPI, Lambdaと仲良くなる(202108社内勉強会)
mii1004
0
68
Javaはじめのいっぽ(202107社内勉強会)
mii1004
0
63
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
73
8.9k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Happy Clients
brianwarren
96
6.6k
Done Done
chrislema
180
16k
Six Lessons from altMBA
skipperchong
26
3.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
1
48
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
How GitHub (no longer) Works
holman
310
140k
Art, The Web, and Tiny UX
lynnandtonic
294
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
28
1.6k
Building an army of robots
kneath
302
42k
Transcript
ビルドツールの話 10⽉チーム会
Q. Javaのビルドツールといえば︖ Maven︕ Gradle︕ どちらかお好きな⽅で、くらいの空気感だと思います。
この前登場したspring initializerでも MavenとGradleのどっちかを選べます。
ビルドツールの役割 l 依存するライブラリをダウンロードする l Javaのソースコードをコンパイルする l テストを実⾏する l パッケージングする(jar, war・・・)
など
Q. ライブラリって︖ ⾊々なアプリで共通で使うようなプログラムを、 再利⽤できるようにまとめたもの
何気なく書いてるそのimportも 誰かが作ってくれたライブラリを使っているのかも
アプリケーションでライブラリを使っている =ライブラリに依存している アプリケーション ライブラリA ライブラリB ライブラリAに依存するよ ライブラリBに依存するよ ライブラリCに依存するよ ・・・ というのがライブラリの依存関係
ビルドツールなしでライブラリを 管理するのは⼤変 • ⼤量のjarファイルをやりとりしないといけないとか • ライブラリのバージョンがごちゃごちゃになるとか • こっちのPCでは動くのにあっちでは動かないとか
MavenやGradleを使えば・・・ <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> <scope>provided</scope> </dependency> compileOnly group: 'org.projectlombok',
name: 'lombok', version: '1.18.22' 定義ファイルに依存するライブラリやバージョンを書いて おけば、Maven/Gradleが必要なjarをダウンロードしてき てくれる
Q. リモートリポジトリって︖ Maven/Gradleがライブラリをダウンロードしにいく場所。 (Gradleでも)Mavenセントラルリポジトリが主に使われていて、よく使うよ うなライブラリは⼤体揃ってる https://repo1.maven.org/maven2/ ライブラリの検索サイトもあるよ https://mvnrepository.com/ 会社によっては社内にリモートリポジトリを⽤意してあることもあるので、そ の場合は定義ファイルで使うリポジトリを指定するよ
Q. もっと詳しく YouTubeでJJUGのナイトセミナーの録画を⾒てね JJUGナイトセミナー「Maven / Gradle⼊⾨」2020/12/11 https://jjug.doorkeeper.jp/events/114832 https://www.youtube.com/watch?v=es0eOiP82R4
11/21(⽇) は JJUG CCC コミュニティ主催のJavaカンファレンス(年2回開催) https://ccc2021fall.java-users.jp/ 国内で開催されるJavaのカンファレンスでは最⼤規模で、 初⼼者向けのセッションも結構やってるよ