Gemini APIのクイックスタートに倣って、Gemini API の Java SDK を使用して開発を始める際、設定した環境変数が認識されず、IllegalArgumentException が発生することがあります。その原因と解決方法をまとめました。
執筆時点(2026/01/30) で下記エラーが発生します。
発生した問題
Exception in thread "main" java.lang.IllegalArgumentException:
API key must either be provided or set in the environment variable GOOGLE_API_KEY.
GOOGLE_API_KEYという名前の環境変数が見つからないよ〜。と言ってますね。
原因
エラーの原因は、GOOGLE_API_KEYという名前の環境変数が設定されていないからです。
GeminiAPIのクイックスタートのサンプルコードのコメントに「環境変数GEMINI_API_KEYにAPIキーを設定せよ」と書いてあるのですが、実際は環境変数GOOGLE_API_KEYを見に行っているようです。
解決方法
環境変数を両方(GOOGLE_API_KEY, GEMINI_API_KEY)とも設定
macの場合
- まず、
.zshrcまたは.bash_profileに正しく変数を記述します。
export GEMINI_API_KEY='貴方のAPIキー'
export GOOGLE_API_KEY='貴方のAPIキー'
- 次に、環境変数が期待通り設定されたかをechoコマンド等で確認します。
echo $GOOGLE_API_KEY
echo $GEMINI_API_KEY
windowsの場合
-
システム環境変数の編集を開く
スタートメニューで「環境変数」と入力し、「システム環境変数の編集」を選択します。
「詳細設定」タブにある「環境変数」ボタンをクリックします。 -
変数を追加する
「ユーザー環境変数」または「システム環境変数」の「新規」をクリックし、以下の2つを追加します。- 変数名: GOOGLE_API_KEY / 変数値: 貴方のAPIキー
- 変数名: GEMINI_API_KEY / 変数値: 貴方のAPIキー
-
すべて「OK」で閉じます。
-
コマンドプロンプトで確認(設定の反映確認)
新しくコマンドプロンプトを立ち上げ、以下のコマンドで表示されるか確認します。
echo %GOOGLE_API_KEY%
echo %GEMINI_API_KEY%
IDEの再起動
ここが重要なステップです。
環境変数の設定の後、IntelliJやVisualStudioCodeなどのIDEを再起動します。
macOSの場合、exportした後は source ~/.zshrc をしても、既に開いているIDEのターミナルやランナーには反映されないようです。
動作確認
サンプルコード
SDK (com.google.genai:google-genai) を使用した最小構成のサンプルです。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>gemini-api-sample</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.google.genai</groupId>
<artifactId>google-genai</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</project>
package org.example;
import com.google.genai.Client;
import com.google.genai.types.GenerateContentResponse;
public class GenerateTextFromTextInput {
public static void main(String[] args) {
// The client gets the API key from the environment variable `GEMINI_API_KEY`.
Client client = new Client();
GenerateContentResponse response =
client.models.generateContent(
"gemini-3-flash-preview",
"Explain how AI works in a few words in Japanese",
null);
System.out.println(response.text());
}
}
結果
「**大量のデータから学び、パターンを見つけて判断する技術**」です。
もっと短く言うと:
1. **データ**を取り込む
2. **学習**してルールを見つける
3. **予測・判断**して答えを出す
という仕組みです。
プロセスは終了コード 0 で終了しました
エラーが解消し、無事にGeminiさんから回答が返って来ましたね!
参考リンク