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
54
型で語るカタ
irof
2
1.3k
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
350
複数アプリケーションを育てていくための共通化戦略
irof
9
4.8k
SpringBootにおけるオブザーバビリティのなにか
irof
1
1.1k
Javaアプリケーションモニタリングの基本
irof
7
2.7k
Webアプリケーションを作りましょう
irof
0
190
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
6.5k
バッチを作らなきゃとなったときに考えること
irof
2
830
Other Decks in Technology
See All in Technology
Claude Code でアプリ開発をオートパイロットにするためのTips集 Zennの場合 / Claude Code Tips in Zenn
wadayusuke
5
1.9k
Bedrock で検索エージェントを再現しようとした話
ny7760
2
110
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
6
750
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
320
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
270
はじめてのOSS開発からみえたGo言語の強み
shibukazu
4
1k
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
160
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
220
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
組織を巻き込む大規模プラットフォーム移行戦略 〜50+サービスのマルチリージョン・マルチプロダクト化で学んだステークホルダー協働の実践〜 / Platform migration strategy engaging all stakeholders
toshi0607
2
200
LLMを搭載したプロダクトの品質保証の模索と学び
qa
1
1.1k
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
530
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Fireside Chat
paigeccino
39
3.6k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
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
͍͍ͩͨ͜͏ͯ͠Δ ʢޱ಄ʣ