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
Javaマルチバージョンビルディング
Search
irof
January 25, 2024
Technology
1
480
Javaマルチバージョンビルディング
2024-01-25 関ジャバ'24 1月度
https://kanjava.connpass.com/event/306493/
口頭多めなので資料だけでは伝わりきらないかも。
irof
January 25, 2024
Tweet
Share
More Decks by irof
See All by irof
技術的負債の正体を知って向き合う
irof
0
310
関ジャバと言う場
irof
0
81
型で語るカタ
irof
2
1.4k
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
380
複数アプリケーションを育てていくための共通化戦略
irof
9
5k
SpringBootにおけるオブザーバビリティのなにか
irof
1
1.1k
Javaアプリケーションモニタリングの基本
irof
7
2.8k
Webアプリケーションを作りましょう
irof
0
200
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
6.7k
Other Decks in Technology
See All in Technology
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
3
5.3k
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
2
1.6k
AIでデータ活用を加速させる取り組み / Leveraging AI to accelerate data utilization
okiyuki99
6
1.6k
実践マルチモーダル検索!
shibuiwilliam
3
500
アノテーション作業書作成のGood Practice
cierpa0905
PRO
1
350
累計5000万DLサービスの裏側 – LINEマンガのKotlinで挑む大規模 Server-side ETLの最適化
ldf_tech
0
120
激動の時代を爆速リチーミングで乗り越えろ
sansantech
PRO
1
220
書籍『実践 Apache Iceberg』の歩き方
ishikawa_satoru
0
410
DSPy入門
tomehirata
6
830
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
180
初海外がre:Inventだった人間の感じたこと
tommy0124
1
160
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
350
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
57k
Automating Front-end Workflow
addyosmani
1371
200k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Cult of Friendly URLs
andyhume
79
6.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Faster Mobile Websites
deanohume
310
31k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
191
56k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Statistics for Hackers
jakevdp
799
220k
Unsuck your backbone
ammeep
671
58k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
900
Fireside Chat
paigeccino
41
3.7k
Transcript
+BWBϚϧνόʔδϣϯ ϏϧσΟϯά ؔδϟό݄ 5 !JSPG
͜ͷɺͳΜͷʁ +BWBͷόʔδϣϯΞοϓΛ͠Α͏ͱ͢Δͱɺಉ ͡ϓϩμΫτΛෳόʔδϣϯͰϏϧυͨ͘͠ ͳΔɻ ͜͏͍͏ͷΛಛผରԠͰͳ͘ɺ͋ͨΓ·͑ͷ ͜ͱʹ͍ͨ͠ɻ ࠶དྷ݄ʹ+BWBग़Δ͠ɻ ͯ͜ͱͰͱ͔͔ͬΓʹ͑ͦ͏ͳಓ۩ͱ͔ࣝ Λ·ͱΊ͓ͯ͜͏ͱࢥͬͨɻ
ಋೖ։ൃΛ௨ͯ͠+BWBΛ ͏λΠϛϯά͍ͭʁ
None
+BWBΛ͏λΠϛϯά ʮ+BWBΛ͏ʯ ͜͜ͰKBWB KBWBDͳͲΛ͏͜ͱͱ͢Δ ίϚϯυΛ͏͜ͱͳ͍ͱࢥ͏ ʮλΠϛϯάʯ ίϯύΠϧʢKBWBDʣ ύοέʔδϯάʢKBSʣ ࣮ߦʢKBWBʣ ϓϩμΫτɺςετɺͦͷଞπʔϧ
角 丸四 角 Java使 。
Java 使 Duke配置。意味 、全 異 Java 使 。
子 ( 文 脈 )重要 。
+BWBͷόʔδϣϯ ʮόʔδϣϯΛἧ͍͑ͨʯ Θ͔Δ ͚Ͳશ෦ἧ͑Δ͜ͱͳ͍ ґଘϥΠϒϥϦͲͷόʔδϣϯͰϏϧυ͞ΕͯΔʁ ޓੑͰߟ͑Δ ιʔείʔυͷޓੑ όΠτίʔυͷޓੑ ಈ࡞ͷޓੑ ʮ+BWB$PNQBUJCJMJUZʯͱ͔Ͱݕࡧ͢Δͱग़ͯ͘Δ
+BWBޙํޓੑΛॏࢹ͍ͯ͠Δ όΠτίʔυͷޙํޓੑյΕͳ͍͜ͱΛલఏʹ͍͍ͯ͠ ιʔείʔυಈ࡞ʢόΠτίʔυΑΓʣյΕΔ
+BWBͷܾ·Γํ ڥͷσϑΥϧτ 1"5)ͩͬͨΓ+"7"@)0.&ͩͬͨΓ ѻ͏ͷ͕όʔδϣϯ͚ͩͰ͋Ε͜Ε͕γϯϓϧͰࣄނগͳ͍ɻ ͱݴ͑ʮڥʯʢલड़͚ͩͰʣछྨ͋Δɻ લஈͰ༻ͨ͠ͷΛҾ͖ܧ͙ ϏϧυπʔϧΛ࣮ߦͨ͠+BWBͰίϯύΠϧςετΛߦ͏ ͦΕͧΕͰ໌ࣔతʹࢦఆ͢Δ ෳόʔδϣϯΛѻ͏Ҏ্ɺઌʹ͋͛ͨ%VLFͨͪΛઃఆͨ͠Γ ֬ೝͨ͠Γ͢Δํ๏Λʹ͚͓ͭͯ͘ඞཁ͋Δɻ
None
IntelliJ 使 Java 。
Gradle( ) 。
Gradle(IntelliJ ) Gradle JVM 設定。
+BWBͷ֬ೝ ͦΕͧΕͷ+BWBΛ͏λΠϛϯ άͰɺͲͷ+BWBΛ͍ͬͯΔ͔ Λ֬ೝɺ੍ޚͰ͖Δͱ͍͍Α Ͷɻ όʔδϣϯʹݶͬͨ͡Όͳ͍Ͱ͢ɻ
ࢀߟ https://irof.hateblo.jp/entry/2021/10/19/145308
ࢀߟ https://irof.hateblo.jp/entry/2021/09/22/193746
ຊฤ+BWBͷόʔδϣϯͱ999 Ϗϧυ ςετ $* ࣮ߦ
+BWBͷόʔδϣϯͱ Ϗϧυ
+BWBͷόʔδϣϯͱϏϧυ ʮόʔδϣϯΛ͋͛ΔͱϏϧυ Ͱ͖ͳ͍ʯ ͜Ε͚ͩͰ̎ύλʔϯ͋Γ͑Δɻ
None
Ϗϧυπʔϧ͕ಈ͔ͳ͍
ίϯύΠϧͰ͖ͳ͍
UPPMDIBJO
(SBEMFͷUPPMDIBJOͬ͘͟Γ ͏+BWBΛݕग़ˍઃఆͰ͖Δػೳɻ ҙࣝ͠ͳͯͬͯ͘Δɻ ʮ04͕ೝ͍ࣝͯ͠Δ+BWBΛ͏ʯͱ͔ࣗಈݕग़ʹΑΔͷɻ UBTL͝ͱʹҟͳΔ+BWBΛબΔɻ HSBEMFUFTU+BWBɺHSBEMFUFTU+BWBͱ͔Ͱ͖Δɻ ࢦఆ͞Εͨ+BWB͕ݟ͔ͭΒͳ͔ͬͨΒUPPMDIBJOSFQPTJUPSZ͔Βμ ϯϩʔυ͖ͯͨ͠Γ͢Δ దʹͬͨΒຖճ+BWBμϯϩʔυ͖ͯͯ͠ɺैྔ՝ۚ😇 $*Ͱ͏ͳΒΩϟογϡରʹ͍ͨ͠ͱ͜Ζ
ສೳͷղͰͳ͍ɻ ͋Μ·Θͳ͍͠ɺͬͯΔͷݟͨ͜ͱͳ͍ɻ
·ͱΊ Ϗϧυπʔϧ͕ಈ͔ͳ͍ جຊϏϧυπʔϧͷόʔδϣϯΞοϓͰରԠɻ ϏϧυεΫϦϓτͷޓੑ͕ͱΕͳ͔ͬͨΓɺϓϥάΠϯ͕ର Ԡ͍ͯ͠ͳ͍ͱ͔ͰͰ͖ͳ͍߹͕͋Δɻ UPPMDIBJOͰૡ͍ͨΓͰ͖Δɻ ίϯύΠϧͰ͖ͳ͍ ιʔείʔυޓ͕औΕͯͳ͍ͷͰɺόʔδϣϯΞοϓલʹ ޓੑͷ͋Δίʔυʹ͢͜ͱΛਪɻ େ෯ͳόʔδϣϯδϟϯϓͰͳ͚ΕɺඇਪͳͲͷίϯύ
Πϧ࣌ͷܯࠂ͕ग़Δɻͣɻ
+BWBͷόʔδϣϯͱ ςετ
+BWBͷόʔδϣϯͱςετ όʔδϣϯΛ্͛Δͱ௨Βͳ͍ ςετ͕͋ͬͨΓɻ
None
+6OJU+3&$POEJUJPOT Java 動 制御 。 使 。
·ͱΊ ಈ࡞ޓΛଛͶ͍ͯ·͢ɻ͜·ͬͨΜͩɻ ԟʑʹͯ͠ݩʑಈ͍͍ͯͨͷ͕ۮવͱ͔༷֎ͱ͔ͷΑ ͘ͳ͍ίʔυ͍ͩͬͨͤɻ ૣظʹݕग़ͯ͠ରԠ͍ͨ͠ɻ όʔδϣϯʹΑͬͯςετͷ࣮ߦΛ੍ޚ͢Δͱ͔લʹਐΊͯ ଞͷᖰΓग़͍ͨ͠ͱ͖ͱ͔ʹҰ࣌తʹ͚ͩ͏ɻશςε τ4LJQΑΓϚγɺ͘Β͍ɻ ίϯύΠϧͷܯࠂͱ͔ग़ͳ͍ɻςετͰಈ͔ͯ֬͠ೝ ͢Δͷ͕ਫ਼Ұഋɻ
+BWBͷόʔδϣϯͱ $*
+BWBͷόʔδϣϯͱ$* ʮϏϧυڥʯͷ
(JU)VC"DUJPOT.BUSJY https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
None
·ͱΊ Ϗϧυڥࣗମͷ+BWBΛ੍ޚ͍͢͠ੈքʹͳ͍ͬͯΔͷͰɺ͜Ε ͰΕΔͱ৭ʑγϯϓϧ ʮ$*αʔόʔʹΠϯετʔϧͨ͠+BWBʯͱ͔͡Όͳ͘ɺϏϧυ͕ίϯςφͰ࣮ ߦ͞ΕΔͷ͕ελϯμʔυʹͳͬͯΔ ͜Ε͕؆୯ʹͰ͖ΔͷͰUPPMDIBJO͏ඞཁͳ͍ͱ͋͜Δ .BUSJYͱ͔͕ͳ͍$*Ͱ+BWBͷόʔδϣϯҧ͍ͰϏϧυΜͰ͓͚ ͍͍ɻ ͱ͍͑ؾΛ͚ͭΔͱ͋͜Δ +BWBͰϏϧυͨ͠ͷΛͰςετ͢Δͱ͔Ͱ͖ͳ͍ɻ࣮ߦڥͱόʔ
δϣϯΛ߹Θͤͳ͍ͱɺςετ͞Ε͍ͯͳ͍ϞδϡʔϧΛ࣮ߦڥʹࡌͤΔ͜ ͱʹͳͬͯ͠·͏ɻ લஈͷʮϏϧυπʔϧ͕ಈ͔ͳ͍ʯಥഁ͓ͯ͘͠ඞཁ͕͋Δɻ
+BWBͷόʔδϣϯͱ ࣮ߦ
+BWBͷόʔδϣϯͱ࣮ߦ ࣮ߦڥɻಈ͔͢ͱ͖ɻ
ίϯςφʁ USVF ϏϧυΠϝʔδͷ࡞Γํʹґଘ %PDLFS fi MFॻ͍ͯΔͳΒΘ͔Γ͍͔͚ͩ͢ ͲɺKJCͱ͔$MPVE/BUJWF#VJMEQBDLTͱ͔ͬͯ πʔϧԽͯ͠ΔͱӅΕ͕ͪ GBMTF 04Πϯετʔϧʁ࣮ߦ࣌ʹڥมϑϧύε
ͰࢦఆʁͳͲੲͳ͕Βͷํ๏Ͱ੍ޚ͠·͠ΐɻ
όʔδϣϯͱ͔Θ͔ΔΑ͏ʹ͢Δ ྫ4QSJOH#PPUͷBDUVBUPSJOGP ىಈϩάʹग़ͯΔ͚Ͳɻ
·ͱΊ ʢ·ͱΊͰͳ͍ʣ ࣮ߦڥͷ+BWB੬ऑੑରԠͳͲͰ ૣظʹ্͛Δඞཁ͕͋Δ͔͠Εͳ ͍͠ɺԘ௮͚͍͔ͨ͠͠Εͳ͍ɻ ͍͚͋͛ͯΔΑ͏ʹ͢Δʹͳʹ͕ ͋Δͱ͍͍ΜͩΖ͏ɻ
͓ͱ͠Ͳ͜Ζ
DPOOQBTT
͍͍ͩͨ͜͏ͯ͠Δ ʢޱ಄ʣ