日々常々

ふつうのプログラマがあたりまえにしたいこと。

開発環境のJDKセットアップ

最近「どこどこのサイトからダウンロード」とかしてないなぁ、と思ったので。

  • IntelliJ IDEA Community Edition 2021.2.2
  • SDKMAN 5.12.4

macOS(メイン)

SDKMAN!にお任せ。

IntelliJ IDEAからはAdd JDK~/.sdkman/candidates/java に入ってるのの主だったもの(8, 11, 17)を適当に入れてます。 SDKMAN!で新しいバージョンのを入れた時、古いのを削除するとリンク切れになって地味に面倒だったりします。

なんで ~/.sdkman/candidates/java/current/bin/java を current-jdk とか言う名前で追加してたりします。これはjava全部消さないと消えない。 勝手に変わるんでアレだけど。(自分で変えてる)

f:id:irof:20210922215457p:plain
今入ってるの

Windows

SDKMAN!がないので、IntelliJ IDEAさんにダウンロードしてもらってます。楽々。

f:id:irof:20210922191414p:plain
この次にダウンロードするJDKが選べる

コード書く分にはこれだけでいいんで楽なんですが、 PATHJAVA_HOME はセットしてくれないので javap とかを衝動的に叩いても動かなかったりします。 javap 叩けないと地味に困るので、環境変数を自分で編集してIntelliJ IDEAさんが入れてくれたのを指定します。 デコンパイラで見るのもいいんですが、それと javap は別腹なんです。あと jshell もたまに叩きたくなる。JAVA_HOMEmvn とか叩きたくなった時に「要ったなー」とか言いながら。

CI(コンテナ)

Docker Hubから、適当に、良い感じのを……

コンテナのサイズは正直あまり気にしてないです。

JDK入ってたらとりあえずなんでもよくて、ビルドツールは後述のWrapperが基本。 CircleCIとかGitHub ActionsとかのCIサービスのコンテナが使える時はそのまま使ったり。

実行環境

Cloud Native Buildpacksとか、 gradle bootBuildImage とか。

コメント

見ての通りワンクッション挟んでるので、本家でリリースされても使えるようになるまでしばらくかかったりします。 「すぐに試したい!」みたいなタイプではないんで、特に困らないタイムラグです。しばらくって言っても、3日もかからないし。 ありがとうございます、と感謝しながら乗っかってる。

おまけ: ビルドツール

  • Gradle はSDKMAN!で入れてる。メジャーバージョンごとに最新を3世代くらい。
  • MavenHomebrewで入れてる。(何故かは忘れた……)
  • CIでもローカルでも使うのはもっぱらWrapper( gradlewmvnw )なので、環境にインストールする物はWrapperのセットアップが主な使い方。触るリポジトリが多くて、それぞれビルドツールのバージョンがまちまちなんで、Wrapperなかったらやってられないです。