DevinでJava環境をセットアップする
Devinを利用したので、セットアップ時のエラーや対応内容、所感を記録しておく。
そもそもなぜDevinを利用するのか
Devinを業務で使う可能性があり、どのような動作感なのかを把握するため。以下の観点で検証することにした。
- インターフェースの違い:SlackでDevinへ指示するユースケースが多いが、Webからでも問題なく利用できるのか
- ドキュメント作成支援:コードベースを理解してREADMEファイルをブラッシュアップできるか
- バグ対応:テストでエラーが起こっている状況を解決できるか
前提
言語とフレームワークは以下の通り。
- Java 21
- Spring BootによるREST APIアプリ
詳細な技術スタックは以下を参照。
Loading repository data...
Coreプラン契約とACUの追加取得
Devinの契約はCoreプランで行った。
プロモーションコードがあると10ACUを追加取得することができた。以下のサイトを参考にした。
参考: 【2025年最新】Devin AIのプロモーションコード:最大200ドル分のクレジットを獲得する方法
IMPORTANT契約せずに10ACUはもらえない。
マシンセットアップ
リポジトリを設定すると、自動的にマシンが準備され、コードベースのインデックス化が完了した。

Start Setupを押下し、以下の画面からセットアップを開始する。ここで少し待つとWeb IDEが表示される。

エディター環境
DevinではWebベースのIDEが提供される。UIはVSCodeと変わらない。

NOTE初期設定ではJavaやDockerがプリインストールされており、多くの開発ツールがすぐに利用可能な状態だった。
Javaバージョンの課題と解決
プロジェクトのビルド時にJavaバージョンの不一致でエラーが発生した。

IMPORTANTDevinの仮想マシンにはJava 17がプリインストールされているが、プロジェクトはJava 21を要求していた。(2025/06/02時点)
Java 21への対応
以下のコマンドを実行してJava 21をインストールし、デフォルトに設定した:
cd ~/repos/blog-api && \
curl -s "https://get.sdkman.io" | bash && \
source "$HOME/.sdkman/bin/sdkman-init.sh" && \
sdk version && \
sdk install java 21.0.7-amzn && \
sdk default java 21.0.7-amzn && \
java -version
TIPSDKMANを使用することで、複数のJavaバージョンを管理し、プロジェクトごとに適切なバージョンを使用できる。
環境セットアップの完了
Java 21の設定が完了し、プロジェクトが正常にビルドできるようになった。

NOTE環境のセットアップ作業中はACUの消費がないことも確認できた。実際のコーディング作業時のみACUが消費される仕組みのようだ。

まとめと所感
Devinの初期設定を通じて感じたポイントは以下の通り。
- 多くの言語・フレームワークがプリインストールされているためセットアップが楽
- 初期設定のトライ&エラーではACUが消費されない
- Coreプランなので、ACUは貴重に扱わないといけない。消費されることへの危機感が常にある
- Web IDEからの利用でも問題なく利用できる。(ただし、日本語対応していない)
WARNING記事の作成に際して、以下の作業のみAIで実施しました。
- 文章の誤字脱字の検知
- 読みやすい文章への変換
- Markdownスタイル適応