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
490
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
9
3.2k
技術的負債の正体を知って向き合う
irof
0
440
関ジャバと言う場
irof
0
86
型で語るカタ
irof
2
1.4k
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
390
複数アプリケーションを育てていくための共通化戦略
irof
9
5.1k
SpringBootにおけるオブザーバビリティのなにか
irof
1
1.2k
Javaアプリケーションモニタリングの基本
irof
7
2.8k
Webアプリケーションを作りましょう
irof
0
210
Other Decks in Technology
See All in Technology
セマンティックHTMLによる アクセシビリティ品質向上の基礎
zozotech
PRO
0
120
AI駆動開発を実現するためのアーキテクチャと取り組み
baseballyama
12
6.1k
Moto: Latent Motion Token as the Bridging Language for Learning Robot Manipulation from Videos
peisuke
0
160
ローカルLLM基礎知識 / local LLM basics 2025
kishida
9
3k
レガシーで硬直したテーブル設計から変更容易で柔軟なテーブル設計にする
red_frasco
4
380
明日から真似してOk!NOT A HOTELで実践している入社手続きの自動化
nkajihara
1
870
DDD x Microservice Architecture : Findy Architecture Conf 2025
syobochim
9
2.8k
プロジェクトの空気を読んで開発してくれるPerlのAIツールがほしい
kfly8
2
110
リアーキテクティングのその先へ 〜品質と開発生産性の壁を越えるプラットフォーム戦略〜 / architecture-con2025
visional_engineering_and_design
0
3k
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
210
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
370
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
710
Featured
See All Featured
Done Done
chrislema
186
16k
Building Adaptive Systems
keathley
44
2.8k
Statistics for Hackers
jakevdp
799
220k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
Why Our Code Smells
bkeepers
PRO
340
57k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
Six Lessons from altMBA
skipperchong
29
4.1k
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
͍͍ͩͨ͜͏ͯ͠Δ ʢޱ಄ʣ