NetBeansが反応しないときは、JDKの不一致と決めつけず、起動条件・ログ・ユーザー設定・特定プロジェクトの影響を分けます。設定ディレクトリを削除する前に、別のuserdir/cachedirを使って比較してください。
IDE起動用のJDKとプロジェクトのJDKを分ける
2026年10月確認。公式ダウンロード一覧の最新はNetBeans 31です。31の配布資料は起動JDKとして21/25/26と27の初期対応を案内しています。「17以降のIDEならJDK17/21」「21はJDK17必須」といった一律表では判断しません。最低版を満たすだけで、将来の全JDKが検証済みになるわけでもありません。
IDE自身の起動JDKと、Maven/Gradle/Antやアプリ実行で選択するJDKは別です。起動に成功してもビルド/依存ライブラリ/実行先との互換性は別途確認します。旧版は保守資料として扱い、新規導入先や安易なダウングレード先にはしません。
一次資料: 公式リリース一覧、NetBeans 31の実行要件、21の旧配布要件、17の旧配布要件。
設定を削除しない診断の順序
- IDEの版・配布元・OS/CPU・起動した実行ファイル・JDKパスを記録する。java -versionは今のターミナルの確認で、IDEの実際のJVMと同一とは限らない。
- 起動不可、起動後の不応答、特定プロジェクトだけの失敗を分ける。userdirのvar/log/messages.log等を時刻と合わせて確認する。パスやログには個人情報が含まれ得るので、そのまま公開しない。
- 既存のIDEを通常の方法で終了し、未保存データを保護する。1つのuserdirを複数プロセスで同時利用せず、lockファイルや未知のPIDを安易に削除/強制終了しない。
- 新しいuserdirとcachedirを明示して起動を比較する。設定をインポートせず、まず空の状態を見る。比較で変わってもプラグインやキャッシュの原因が確定したわけではない。
- 変わらなければ元の設定を消さず、JDK・配布版・権限・ログ・プロジェクト固有の問題を引き続き調べる。
userdirは単なるキャッシュではなく設定・追加モジュール・実行状態等を含みます。プロジェクトの保存場所も利用者次第なので、「ここを消してもデータは消えない」と保証しません。パス例を信じて削除せず、実際の設定先を確認します。
Windowsで診断用の引数を作る例
下の関数はPowerShell 7用です。既存のJDKパスと、新しい絶対パスを受け取り、起動引数の配列だけを返します。java.exeの存在を確認しますが、JDKの対応版やCPUを自動判定するものではありません。IDE/Javaを起動せず、ディレクトリも作成・削除しません。
#requires -Version 7.0
function New-NetBeansDiagnosticArguments {
param(
[Parameter(Mandatory)][string]$JdkHome,
[Parameter(Mandatory)][string]$DiagnosticRoot
)
$jdk = (Resolve-Path -LiteralPath $JdkHome -ErrorAction Stop).Path
if (-not (Test-Path -LiteralPath (Join-Path $jdk 'bin/java.exe') -PathType Leaf)) {
throw 'JdkHome must point to a Windows JDK containing bin/java.exe.'
}
if (-not [IO.Path]::IsPathFullyQualified($DiagnosticRoot)) {
throw 'DiagnosticRoot must be a new absolute path.'
}
$root = [IO.Path]::GetFullPath($DiagnosticRoot)
if (Test-Path -LiteralPath $root) {
throw 'Choose a new diagnostic directory; do not reuse existing settings.'
}
@('--jdkhome', $jdk, '--userdir', (Join-Path $root 'userdir'),
'--cachedir', (Join-Path $root 'cachedir'))
}
同じターミナルに関数を読み込んでから、次のパスを実際のものへ変更します。最後の行はコメントのまま確認し、意図して起動するときだけ有効にします。実際の起動では新しい領域に設定・ログ等が作られます。診断領域も自動削除せず、内容を確認して扱ってください。
$NetBeans = 'C:\path\to\netbeans\bin\netbeans64.exe'
$Jdk = 'C:\path\to\supported-jdk'
$DiagnosticRoot = Join-Path ([IO.Path]::GetTempPath()) ('netbeans-check-' + [guid]::NewGuid())
if (-not (Test-Path -LiteralPath $NetBeans -PathType Leaf)) {
throw 'Set NetBeans to the actual launcher path first.'
}
$LaunchArguments = New-NetBeansDiagnosticArguments -JdkHome $Jdk -DiagnosticRoot $DiagnosticRoot
# Review these paths before running the next line; the launcher can create files.
$LaunchArguments
# & $NetBeans @LaunchArguments
Linux/macOSの起動オプションも対象配布版で確認し、--jdkhome・--userdir・--cachedirに実在/新規の適切なパスを指定します。Apache 31のUnixランチャー検査では、--userdirだけの場合とcachedirも指定した場合で渡される引数が異なるため、領域を分ける目的なら両方を明示します。Windowsネイティブ起動やIDEのGUI全体の動作確認済みという意味ではありません。
根拠: 公式userdir説明、Apache 31のUnixランチャー。過去の不応答を再現した完成対処ではなく、元データを保持する切り分けです。
| この記事の要点 |
|---|
|
Netbeansをインストールした直後、新規プロジェクトの作成等のボタンを押しても反応しないことがあります。起動JDKの不一致は候補の1つですが、この症状だけで原因や頻度は断定できません。
原因の見極め
- 起動JDKの対応条件 — IDEの版と起動ログを照合する。非対応JDKだけであらゆるUI不応答を説明しない
- CPU/アーキテクチャの不整合 — OS・ランチャー・JDK・ネイティブライブラリの対応を確認する
- Netbeans 設定ファイルのJDKパスが古い
- プラグインや索引作成等の影響 — 処理中のログと再現条件を確認し、名前だけで停止原因を決めない
対処法
1. 対応JDKバージョンを使う
次は確認した配布版ごとの起動JDKです。旧表の9/10/11や12.x、17以降をひとまとめにした対応は使いません。最新の配布条件とプロジェクト側の設定を別に確認してください。
| Netbeans | 対応JDK |
|---|---|
| 8.2(旧Oracle版) | 保守時は当時の配布要件を確認。新規導入先にしない |
| 17(旧版) | 公式の実行対応: JDK 11 / 17 / 19 |
| 21(旧版) | 公式の実行対応: JDK 11 / 17 / 21 |
| 31 | 公式の実行対応: JDK 21 / 25 / 26、27は初期対応 |
元記事は2018年の旧環境を扱っています。当時の個別症状を、すべてのJDK9以降や現在のNetBeansにも必ず起こる事象とは扱いません。手元の版と再現条件を記録して比較します。
2. 起動時のJDKを明示指定する
下の黒い表は旧環境のパス例です。ファイルを一括置換せず、使用している配布物の設定先を確認し、変更前の値を保持します。
システムに複数のJDKがある場合、Netbeansが想定外のJDKを掴むことがあります。netbeans.conf でJDKパスを明示します。
|
# $NETBEANS_HOME/etc/netbeans.conf |
次のコマンドもJDK11を固定した旧例です。現在の全NetBeansへ流用せず、対象配布版が対応するJDKの実パスへ置き換えます。
|
$ netbeans --jdkhome /path/to/jdk-11 |
3. ユーザー設定を削除せず別領域で比較する
設定ディレクトリの削除は通常の診断手順にしません。 下は過去のパス例で、現在の全配布版の保存場所ではありません。userdirとcachedirを区別し、実際の領域を記録してから新規の領域で比較します。
|
# Windows |
既存領域を移動・リネームする前に、上のように新規のuserdir/cachedirを指定します。退避が必要な場合もIDE終了と対象パス・バックアップを確認し、診断中にプロジェクトや未保存データを失わないようにします。
4. ログを確認
|
# ユーザー設定ディレクトリ配下 |
ログは起動条件や直近の例外を確認する材料です。末尾に名前が出たプラグインが必ず原因とは限らず、画面の不応答では別途スレッド情報等が必要な場合もあります。ログがないことだけで正常とは判断しません。
注意点
- Apacheで最初のリリースは2018年のNetBeans 9。12から始まったわけではない。公式の履歴と版別要件を照合する
- Windowsの場合、
netbeans64.exeとnetbeans.exeでアーキテクチャが違う場合がある。OSのbit数に合わせる - プロジェクト種別に必要なモジュール/プラグインを確認する。未導入というだけでフリーズの原因を断定しない
子ページはありません
同階層のページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09