| この記事の要点 |
|
エラー内容
An internal error occurred during: "Building UI model".
com/google/common/base/Function
Eclipse のメニューから「ファイル」→「新規」→「Spring Starter Project」を選んだとき、ウィザード画面を作る途中(Building UI model)でこのダイアログが表示され、プロジェクト作成画面が開きません。
発生条件と原因
エラーの 2 行目にある com/google/common/base/Function は、Google が提供する Java ライブラリ Guava に含まれるクラスの名前です。クラス名がスラッシュ区切りで表示されるのは、Java の NoClassDefFoundError(実行時にクラスが見つからない)でよく見られる形式です。
Spring Starter Project のウィザードは STS プラグインの一部で、内部で Guava などのライブラリを使っています。Eclipse 本体と STS プラグインのバージョンが合っていないと、STS が期待するバージョンのライブラリが Eclipse 内に存在しない、または読み込めない状態になり、このエラーになります。
よくあるのは次のような状況です。
- 古い Eclipse(例: Neon)に、より新しい Eclipse 向けの STS を Marketplace から入れた
- Eclipse 本体だけ、または STS だけを更新して、片方が古いまま残っている
- Pleiades などの All in One パッケージに、別途 STS を追加して依存関係が崩れた
- 更新が途中で失敗し、プラグインの一部だけが新しくなっている
対処法 1: Eclipse を新しいバージョンに更新して揃える
以下は、Eclipse を新しいバージョンにしてバージョンを合わせる方法の一例です。元の手順では Neon から Oxygen へ更新していました(画面は Mac での操作例。Windows ではメニュー名が「ウィンドウ」→「設定」になるなど、名称が異なることがあります)。
- 「Eclipse」→「環境設定」→「Install/Update」→「Available Software Sites」を開く
- 「Add」を押し、更新先のリリースのリポジトリを登録する
- Name: Oxygen(任意の名前)
- Location: http://download.eclipse.org/releases/oxygen
- 「Help」→「Check for Updates」から、Eclipse 本体と各プラグインを更新する
- STS も同じ「Check for Updates」で最新化されるので、更新後に Eclipse を再起動する
- 再度「Spring Starter Project」を開き、エラーが出ないことを確認する
現在のリポジトリの URL は https://download.eclipse.org/releases/ の下に年月形式(例: 2025-12)で公開されています。旧リリース名(oxygen など)の URL は古い環境向けのもので、今から新しく構築する場合は使う必要はありません。
対処法 2: STS を Eclipse に合うバージョンで入れ直す
Eclipse 本体を更新できない事情がある場合は、STS 側をその Eclipse に対応したバージョンに合わせます。
- 「Help」→「About Eclipse」→「Installation Details」で、インストール済みの STS(Spring Tools)関連のプラグインをアンインストールする
- Eclipse を再起動する
- Eclipse Marketplace で Spring Tools を検索し、使っている Eclipse のバージョンに対応したものをインストールする
- 再起動後にウィザードを開いて確認する
Marketplace は通常、対応する Eclipse のバージョンを表示しています。対応外の組み合わせはインストール時に警告が出ることがあるので、無視して進めないようにしてください。
対処法 3: Spring Tools 一式を新しく入れる(推奨)
古い Eclipse 環境を修復するより、新しい環境を作る方が早いことが多いです。2026 年時点では次のどちらかが確実です。
- Spring Tools の Eclipse 版をダウンロード: Spring 公式サイト(spring.io/tools)から、Eclipse と Spring Tools が組み込まれた配布物を入手する。本体とプラグインのバージョンが最初から揃っている
- Spring Initializr でプロジェクトを作る: ブラウザで start.spring.io を開き、依存関係を選んで zip をダウンロードし、Eclipse の「インポート」→「既存 Maven プロジェクト」(Gradle の場合は Gradle プロジェクト)で取り込む。Spring Starter Project ウィザードも内部では同じ Initializr を使っている
なお、STS 3 系は既に開発が終了しています。現行の Spring Tools は Eclipse 版のほか、VS Code などの拡張機能としても提供されています。
よくある落とし穴
- ワークスペースの設定が壊れている: 更新後もエラーが続く場合、新しいワークスペースで起動して再現するか確認する。再現しなければワークスペース側のメタデータが原因
- Eclipse を -clean 付きで起動していない: プラグイン入れ替え後は、起動オプション
-cleanを一度付けて起動するとキャッシュが再構築される - JDK のバージョンが古い: 新しい Eclipse や Spring Tools は、Eclipse を動かす Java にも新しいバージョンを要求する。起動しない場合は eclipse.ini の
-vm指定を確認する - プロキシ環境: 社内ネットワークでは更新サイトや Initializr に接続できず、別のエラーになることがある。「ネットワーク接続」の設定を確認する
確認方法
- 「Help」→「About Eclipse」で Eclipse のバージョンを確認する
- 「Installation Details」で Spring Tools 関連プラグインのバージョンを確認し、対応する Eclipse のバージョンと一致しているか見る
- エラーの詳細は、ワークスペースの
.metadata/.logに記録されている。NoClassDefFoundErrorの前後にどのプラグインが出ているかで原因を絞り込める - 「Spring Starter Project」でウィザードが開き、プロジェクトが作成できれば解決
関連
- Spring Bootプロジェクトの作成方法
- Eclipse でプロジェクトを作成する手順|動的 Web プロジェクト / Maven / Spring Boot
- Eclipse でよくあるエラー一覧と対処法 — JVM / ワークスペース / ビルドパス
- インストール(eclipseプラグイン)
- Eclipse IDE の基本(ダウンロード / JDK 設定 / プラグイン / Pleiades 日本語化 / ショートカット)
子ページはありません
- java.lang.IllegalStateException: CGLIB is required to process @Configuration classes
- Error creating bean with name 'org.springframework.aop.config.internalAutoProxyCreator': Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator
- No mapping found for HTTP request with URI ... in DispatcherServlet with name ...
- An internal error occurred during: "Building UI model". com/google/common/base/Function
- No identifier specified for entity : ...
- org.hibernate.hql.internal.ast.QuerySyntaxException: table_name is not mapped
- No compiler is provided in this environment
- java.sql.SQLException: The server time zone value ' ... ' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone
- Caused by: java.lang.RuntimeException: Executing an update/delete query
- Not supported for DML operations
- Field ... required a bean of type ... that could not be found.
- Annotation-specified bean name 'xxxController' for bean class [com.xxx.controller.xxxController] conflicts with existing, non-compatible bean definition of same name and class [com.xxx.xxxController]
- Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback.
- Exception in thread "main" java.lang.UnsupportedClassVersionError
人気ページ
- 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