"Spring Application context has not been set" エラーにより Confluence が起動しない

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

この記事はアトラシアンのサーバー製品にのみ適用されます。クラウドとサーバー製品の違いについてはこちらをご確認ください。

問題

Confluence の起動時に次のエラーが返される。 

atlassian-confluence.log
2010-06-18 21:54:45,432 INFO [main] [com.atlassian.confluence.lifecycle] init Confluence is ready to serve
2010-06-18 21:55:20,515 FATAL [http-8080-1] [atlassian.spring.container.SpringContainerContext] getComponent Spring Application context has not been set
2010-06-18 21:55:20,528 ERROR [http-8080-1] [[Standalone].[localhost].[/].[action]] log Servlet.service() for servlet action threw exception
java.lang.IllegalStateException: Spring Application context has not been set
	at com.atlassian.spring.container.SpringContainerContext.getComponent(SpringContainerContext.java:48)
	at com.atlassian.spring.container.ContainerManager.getComponent(ContainerManager.java:32)
	at com.atlassian.confluence.security.seraph.ConfluenceElevatedSecurityGuard.getCaptchaManager(ConfluenceElevatedSecurityGuard.java:115)   

次のエラーも返される場合があります。 

catalina.out
15-Nov-2015 23:57:33.447 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Tomcat-Standalone
15-Nov-2015 23:57:33.447 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.28
2015-11-15 23:57:45,736 INFO [localhost-startStop-1] [com.atlassian.confluence.lifecycle] contextInitialized Starting Confluence 5.8.16 [build 5996 based on commit hash 4a6343ec7ed8542179d6c78fa7f87c01f81da016]
15-Nov-2015 23:58:06.434 SEVERE [Standalone-startStop-1] org.apache.catalina.startup.HostConfig.start Unable to create directory for deployment: /opt/atlassian/confluence/conf/Standalone/localhost

次のエラーも返される場合があります。

java.util.concurrent.CompletionException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tenantedTransactionManager' defined in class path resource [databaseSubsystemContext.xml]: Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tenantedLocalSessionFactoryBean5' defined in class path resource [productionDatabaseContext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: premature SessionFactory initialisation, Hibernate properties have not yet been persisted in confluence.cfg.xml

インストール中や再起動後に次のエラーが返される場合もあります。

2016-11-30 12:23:12,241 ERROR [http-nio-8090-exec-3] [confluence.util.profiling.ConfluenceSitemeshErrorDecorator] renderInternal Failed to render error decorator. Falling back to using no decorator
 -- traceId: 006cacff18fcfffe
javax.servlet.ServletException: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getLocale' in  class com.atlassian.confluence.core.ConfluenceActionSupport threw exception java.lang.IllegalStateException: Spring Application context has not been set at /decorators/includes/header.vm[line 58, column 41]

原因

  1. Confluence を実行しているユーザーが、<install>/confluence/WEB-INF/classes/confluence-init.properties  で定義されたホーム フォルダまたはインストール ディレクトリへの書き込み権限を持っていない。
  2. Confluence を root ユーザーとして実行しているか、アプリケーション ファイアウォール (SeLinus や AppArmor) が有効化されている。
  3. データベース ドライバが <install>/confluence/WEB-INF/lib フォルダに存在しないか、バンドルされたドライバとの互換性を持たないデータベース バージョンが使用されている。 
  4. サーバーのホスト名を解決できない。
  5. インストール時にデータベースをセットアップするための十分なメモリがサーバーになく、再起動によってこのエラーが返される。
  6. OS のアップグレード後に、インストール ディレクトリが適切に動作しない。
  7. Confluence データベースの権限が適切に構成されていない。
  8. confluence.cfg.xml ファイルが破損している。
  9. Data Center ディストリビューションを実行している場合、影響を受けているノードで構成されているネットワーク インターフェイスがほかのノードで使用されているものと異なる。
  10. セットアップ ウィザードでは多数の情報の入力が必要だが、セットアップ ウィザードの完了前に何らかの理由により Confluence インスタンスが停止したか、サーバーが再起動された。

    Web ブラウザの URL を確認することで、各ステップを特定できます。一般的な Confluence インストールの場合、次の URL の順に進行します (選択したオプションによって URL が異なる場合があります)。

    • <ベース URL>/setup/setupstart.action

    • <ベース URL>/setup/selectbundle.action
    • <ベース URL>/setup/setuplicense.action
    • <ベース URL>/setup/setupdbchoice-start.action
    • <ベース URL>/setup/setupdbtype-start.action
    • <ベース URL>/setup/setupdata-start.action
    • <ベース URL>/setup/setupusermanagementchoice-start.action
    • <ベース URL>/setup/complete.action

ソリューション

ソリューション 1

Linux

Confluence を root 以外として実行し、Confluence を実行するユーザーにホーム フォルダへの完全な書き込みおよびアクセス権があることを確認します。chmod -R を適切な権限で実行することで、各サブフォルダについて再帰的に設定できます。適切な権限の例は次のようになります。

sudo chown -R <confluence-user> <confluence-install-folder>
sudo chown -R <confluence-user> <confluence-home-folder>
sudo chmod -R u=rwx,g=rx,o=rx <confluence-install-folder>
sudo chmod -R u=rwx,g=rx,o=rx <confluence-home-folder>

ユーザー confluence は一例であり、任意のユーザー名に変更してかまいません。

Windows

  • <Confluence ホーム> フォルダを右クリックします。
  • [プロパティ] を選択します。
  • [セキュリティ] を選択します。
  • Confluence の実行に使用しているユーザーを完全な読み取りおよび書き込みアクセスとして追加します。

ソリューション 2

適切な権限が設定されているにもかかわらず問題が発生する場合、SeLinux または AppArmor が有効化されているかどうかをこのドキュメントで確認します。

ソリューション 3

サポート対象プラットフォーム」と「データベース JDBC ドライバ」ページを参照し、必要なドライバが <install>/confluence/WEB-INF/lib にあり、データベース バージョンに Confluence バージョンとの互換性があるかどうかを確認します。

ソリューション 4

使用するホスト名は解決可能である必要があります (ping $HOSTNAME を確認)。ホスト名 localhost/etc/hosts に追加されていない可能性があります。「DNS ルックアップの失敗により Confluence のログ ファイルに java.net.UnknownHostException 例外が記録される」をご参照ください。

ソリューション 5

JVM を実行するために十分な物理メモリがサーバーにあるかどうかを確認します。Confluence 6.0 では 2 GB が必要です。ソリューション 10 の手順に従ってセットアップ ウィザードを再起動してから、インストーラーを再起動します

ソリューション 6

新しいインストール ディレクトリと、異なるホーム ディレクトリを使用して、Confluence を再インストールします。インストーラーとホーム ディレクトリのフォルダ権限が適切かどうかを確認します。新しいインストール ディレクトリで UI が期待したとおりに表示されるかどうかを確認し、セットアップが完了したら Confluence を停止して<install>/confluence/WEB-INF/classes/confluence-init.properties を編集し、古いホーム ディレクトリを指すようにします。ファイルを保存してアプリケーションを再び開始します。

ソリューション 7

データベース ユーザーは Confluence データベースの所有者であることが推奨されています。PostgreSQL を使用する場合、ユーザーは Confluence データベースの所有者である必要があります。Oracle、MySQL、および MSSQL の場合、必要な権限が設定済みであれば問題ありません。

ソリューション 8

<confluence-home>/confluence.cfg.xml ファイルは適切にフォーマットされている必要があります。これを確認するには W3 School XML Validator などのオンライン ツールや、IntelliJ または Eclipse などの高度なエディタを使用します。ファイルでタグの手前 (<?xml>) に意図しない空白文字が存在したり、特定の要素が適切に閉じられていないために XML ファイルのフォーマットが壊れている可能性があります。

confluence.cfg.xml はパスワードなどの機密情報を含む可能性があります。オンライン ツールでのテストを行う前にこのような機密情報を削除することをおすすめします


ソリューション 9

影響を受けたサーバーと他のサーバーを比較すると、インターフェイス名が異なる順番で設定されている可能性があります (例: 1 つのサーバーで eth2 という名前のインターフェイスがほかのサーバーでは eth3 になっている)。
この場合、影響を受けているサーバーの適切なインターフェイスを見つける必要があります。次のナレッジベース記事のソリューションの手順を実行したあと、confluence.cfg.xml ファイルを適切なネットワーク インターフェイスを使用するように変更します。https://confluence.atlassian.com/confkb/hazelcast-cannot-start-on-this-node-no-matching-network-interface-found-646447553.html

ソリューション 10

If this is a fresh installation, you can use the steps below to restart the installation. (warning) This will completely wipe the original instance and data in the database.

  1. Confluence を停止します。

  2. Backup and delete the <confluence-home>/confluence.cfg.xml file.

  3. Confluence を起動します。

  4. ブラウザでベース URL にアクセスしてセットアップ ウィザードを最初から開始します。

  5. データベースの設定手順で [Continue and overwrite existing data] が選択肢として表示された場合はそれを選択します。

  6. すべての手順を正常に完了できたことを確認します。

ソリューション 11

初回のセットアップ ウィザードでは Confluence に 1 つのブラウザ ウィンドウでのみ接続することが推奨されています。複数のブラウザ ウィンドウが開かれている場合、サーバーへのステータス更新のポーリングがセットアップに影響し、Spring コンテキスト エラーを発生させる可能性があります。

説明 On Confluence Startup, an error is thrown: Spring Application context has not been set.
製品 Confluence
プラットフォーム サーバー
最終更新日 2019 年 6 月 29 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.