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
440
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
Javaアプリケーションモニタリングの基本
irof
7
2.5k
Webアプリケーションを作りましょう
irof
0
99
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
5.7k
バッチを作らなきゃとなったときに考えること
irof
2
720
SpringBoot3.4の構造化ログ #kanjava
irof
3
1.3k
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
11
5.1k
役立つログに取り組もう
irof
35
12k
Javaのリリースモデル変更 その後
irof
0
140
プールにゆこう
irof
2
430
Other Decks in Technology
See All in Technology
hacomonoらしさをデザインする
hacomono
PRO
2
110
テストコードにはテストの意図を込めよう(2025年版) #retechtalk / Put the intent of the test 2025
nihonbuson
PRO
11
2.1k
ソフトウェアテスト 最初の一歩 〜テスト設計技法をワークで体験しながら学ぶ〜 #JaSSTTokyo / SoftwareTestingFirstStep
nihonbuson
PRO
4
290
経済メディア編集部の実務に小さく刺さるAI / small-ai-with-editorial
nkzn
2
500
非同期処理でも分散トレーシングしたい!- OpenTelemetry × Pub/Sub -
phaya72
1
100
Software Delivery Observability CI・CD , DORA metrics も Datadog で可視化しよう / datadog-ci-cd-observability
parupappa2929
0
160
LLMの開発と社会実装の今と未来 / AI Builders' Community (ABC) vol.2
pfn
PRO
2
220
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2025年版)
infiniteloop_inc
14
46k
RubyKaigi NOC 近況 2025
sorah
3
1.2k
正解のない未知(インボイス制度対応)をフルサイクル開発で乗り越える方法 / How to overcome the unknown invoice system with full cycle development
carta_engineering
0
170
水耕栽培に全部賭けろ
mutsumix
0
150
PCNW20250514(情シスはAIとどう向き合う?事例から学ぶ活用法)
suguru0719
0
100
Featured
See All Featured
KATA
mclloyd
29
14k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Making Projects Easy
brettharned
116
6.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
810
How GitHub (no longer) Works
holman
314
140k
Six Lessons from altMBA
skipperchong
28
3.8k
Side Projects
sachag
453
42k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Rails Girls Zürich Keynote
gr2m
94
13k
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
͍͍ͩͨ͜͏ͯ͠Δ ʢޱ಄ʣ