◀ 4.

An internal error occurred during: "Building UI model". com/

▶
この記事の要点
  • Eclipse + STS(Spring Tool Suite)で Spring Starter Project を作ろうとしたときに出るエラー
  • com/google/common/base/Function は Google Guava のクラス。STS プラグインが必要とするライブラリが Eclipse 側で見つからないことを示す
  • 主な原因は Eclipse 本体と STS プラグインのバージョン不一致
  • 対処: Eclipse を更新して STS と揃える、または Eclipse のバージョンに合った STS を入れ直す
  • 2026 年時点では、Eclipse ベースの Spring Tools 一式をダウンロードするか、Spring Initializr(start.spring.io)で作ってインポートするのが確実

エラー内容

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 ではメニュー名が「ウィンドウ」→「設定」になるなど、名称が異なることがあります)。

  1. 「Eclipse」→「環境設定」→「Install/Update」→「Available Software Sites」を開く
  2. 「Add」を押し、更新先のリリースのリポジトリを登録する
    • Name: Oxygen(任意の名前)
    • Location: http://download.eclipse.org/releases/oxygen
  3. 「Help」→「Check for Updates」から、Eclipse 本体と各プラグインを更新する
  4. STS も同じ「Check for Updates」で最新化されるので、更新後に Eclipse を再起動する
  5. 再度「Spring Starter Project」を開き、エラーが出ないことを確認する

現在のリポジトリの URL は https://download.eclipse.org/releases/ の下に年月形式(例: 2025-12)で公開されています。旧リリース名(oxygen など)の URL は古い環境向けのもので、今から新しく構築する場合は使う必要はありません。

対処法 2: STS を Eclipse に合うバージョンで入れ直す

Eclipse 本体を更新できない事情がある場合は、STS 側をその Eclipse に対応したバージョンに合わせます。

  1. 「Help」→「About Eclipse」→「Installation Details」で、インストール済みの STS(Spring Tools)関連のプラグインをアンインストールする
  2. Eclipse を再起動する
  3. Eclipse Marketplace で Spring Tools を検索し、使っている Eclipse のバージョンに対応したものをインストールする
  4. 再起動後にウィザードを開いて確認する

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 に接続できず、別のエラーになることがある。「ネットワーク接続」の設定を確認する

確認方法

  1. 「Help」→「About Eclipse」で Eclipse のバージョンを確認する
  2. 「Installation Details」で Spring Tools 関連プラグインのバージョンを確認し、対応する Eclipse のバージョンと一致しているか見る
  3. エラーの詳細は、ワークスペースの .metadata/.log に記録されている。NoClassDefFoundError の前後にどのプラグインが出ているかで原因を絞り込める
  4. 「Spring Starter Project」でウィザードが開き、プロジェクトが作成できれば解決

関連

Post Share
子ページ

子ページはありません

同階層のページ
  1. java.lang.IllegalStateException: CGLIB is required to process @Configuration classes
  2. 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
  3. No mapping found for HTTP request with URI ... in DispatcherServlet with name ...
  4. An internal error occurred during: "Building UI model". com/google/common/base/Function
  5. No identifier specified for entity : ...
  6. org.hibernate.hql.internal.ast.QuerySyntaxException: table_name is not mapped
  7. No compiler is provided in this environment
  8. 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
  9. Caused by: java.lang.RuntimeException: Executing an update/delete query
  10. Not supported for DML operations
  11. Field ... required a bean of type ... that could not be found.
  12. 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]
  13. Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback.
  14. Exception in thread "main" java.lang.UnsupportedClassVersionError