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
210
関ジャバと言う場
irof
0
79
型で語るカタ
irof
2
1.4k
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
370
複数アプリケーションを育てていくための共通化戦略
irof
9
5k
SpringBootにおけるオブザーバビリティのなにか
irof
1
1.1k
Javaアプリケーションモニタリングの基本
irof
7
2.7k
Webアプリケーションを作りましょう
irof
0
200
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
6.7k
Other Decks in Technology
See All in Technology
Click A, Buy B: Rethinking Conversion Attribution in ECommerce Recommendations
lycorptech_jp
PRO
0
120
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
AI時代の開発を加速する組織づくり - ブログでは書けなかったリアル
hiro8ma
1
180
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
初めてのDatabricks Apps開発
taka_aki
1
230
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
コンパウンド組織のCRE #cre_meetup
layerx
PRO
0
130
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
2
980
20251007: What happens when multi-agent systems become larger? (CyberAgent, Inc)
ornew
1
510
だいたい分かった気になる 『SREの知識地図』 / introduction-to-sre-knowledge-map-book
katsuhisa91
PRO
0
540
HR Force における DWH の併用事例 ~ サービス基盤としての BigQuery / 分析基盤としての Snowflake ~@Cross Data Platforms Meetup #2「BigQueryと愉快な仲間たち」
ryo_suzuki
0
250
事業開発におけるDify活用事例
kentarofujii
4
1.2k
Featured
See All Featured
Producing Creativity
orderedlist
PRO
347
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Code Review Best Practice
trishagee
72
19k
Agile that works and the tools we love
rasmusluckow
331
21k
The Pragmatic Product Professional
lauravandoore
36
7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Typedesign – Prime Four
hannesfritz
42
2.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
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
͍͍ͩͨ͜͏ͯ͠Δ ʢޱ಄ʣ