DevinでJava環境をセットアップする

7 min

Devinを利用したので、セットアップ時のエラーや対応内容、所感を記録しておく。

そもそもなぜDevinを利用するのか

Devinを業務で使う可能性があり、どのような動作感なのかを把握するため。以下の観点で検証することにした。

  • インターフェースの違い:SlackでDevinへ指示するユースケースが多いが、Webからでも問題なく利用できるのか
  • ドキュメント作成支援:コードベースを理解してREADMEファイルをブラッシュアップできるか
  • バグ対応:テストでエラーが起こっている状況を解決できるか

前提

言語とフレームワークは以下の通り。

  • Java 21
  • Spring BootによるREST APIアプリ

詳細な技術スタックは以下を参照。

t-uejoblog-api

Loading repository data...

-- -- --

Coreプラン契約とACUの追加取得

Devinの契約はCoreプランで行った。

プロモーションコードがあると10ACUを追加取得することができた。以下のサイトを参考にした。

参考: 【2025年最新】Devin AIのプロモーションコード:最大200ドル分のクレジットを獲得する方法

IMPORTANT

契約せずに10ACUはもらえない。

マシンセットアップ

リポジトリを設定すると、自動的にマシンが準備され、コードベースのインデックス化が完了した。

Devinマシンの自動設定が進行中の画面
Devinマシンの自動設定が進行中の画面

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

Devinマシンセットアップの開始画面
Devinマシンセットアップの開始画面

エディター環境

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

DevinのWebベースIDE画面
DevinのWebベースIDE画面
NOTE

初期設定ではJavaやDockerがプリインストールされており、多くの開発ツールがすぐに利用可能な状態だった。

Javaバージョンの課題と解決

プロジェクトのビルド時にJavaバージョンの不一致でエラーが発生した。

Java バージョン不一致によるエラー画面
Java バージョン不一致によるエラー画面
IMPORTANT

Devinの仮想マシンにはJava 17がプリインストールされているが、プロジェクトはJava 21を要求していた。(2025/06/02時点) Java 17がインストールされていることを確認した画面

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
TIP

SDKMANを使用することで、複数のJavaバージョンを管理し、プロジェクトごとに適切なバージョンを使用できる。

環境セットアップの完了

Java 21の設定が完了し、プロジェクトが正常にビルドできるようになった。

Java 21セットアップ完了を示す画面
Java 21セットアップ完了を示す画面
NOTE

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

セットアップ時のACU消費状況を示す画面
セットアップ時のACU消費状況を示す画面

まとめと所感

Devinの初期設定を通じて感じたポイントは以下の通り。

  • 多くの言語・フレームワークがプリインストールされているためセットアップが楽
  • 初期設定のトライ&エラーではACUが消費されない
  • Coreプランなので、ACUは貴重に扱わないといけない。消費されることへの危機感が常にある
  • Web IDEからの利用でも問題なく利用できる。(ただし、日本語対応していない)

WARNING

記事の作成に際して、以下の作業のみAIで実施しました。

  • 文章の誤字脱字の検知
  • 読みやすい文章への変換
  • Markdownスタイル適応