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

お困りですか?

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

コミュニティに質問

プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

問題

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. The file <confluence-home>/confluence.cfg.xml is corrupt.
  9. Data Center ディストリビューションを実行している場合、影響を受けているノードで構成されているネットワーク インターフェイスがほかのノードで使用されているものと異なる。
  10. Confluence is actively being monitored by a health check from a load balancer, other users are accessing confluence or other browser tabs are refreshing the confluence base URL.
  11. Using MySQL database, either the collation or character set properties are not set correctly.
  12. The Setup Wizard requires fulfilling a certain number of steps. For whatever reason, the Confluence instance has been stopped or the server has been restarted before finishing all the steps of the Setup Wizard.

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

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

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

ソリューション

ソリューション 1

Linux

Do not run Confluence as root, and ensure that the user running Confluence has full read and write access to the home folder. This can be set by running chmod -R with the appropriate permissions, to apply them recursively to each subfolder. An example of the right permissions would be:

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

Check the Supported Platforms and Database JDBC Drivers pages and verify that the required driver is located under <install>/confluence/WEB-INF/lib and your database version is compatible with the Confluence version.

ソリューション 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

It is recommended that the database user is the owner of the Confluence database. When using PostgreSQL, the user has to be the owner of the Confluence database. Oracle, MySQL, and MSSQL need only the necessary permissions.

ソリューション 8

The <confluence-home>/confluence.cfg.xml file needs to be properly formatted. It can be checked using online tools like W3 School XML Validator or advanced editors like IntelliJ or Eclipse. The file might have some hidden characters like "space" in the wrong place (e.g before the opening <?xml....> or some elements might not be closed properly which can break the XML file format.

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


ソリューション 9

The interface name might have been named in a different order for the affected server compared to the others, which means that an interface named eth2 in one server could be the same interface that is named eth3 in another server.
In this case, we'll need to find out which interface is the correct one on the affected server. Please, follow the resolution steps outlined in this KB article to find it out, then change the confluence.cfg.xml file to use the proper network interface: https://confluence.atlassian.com/confkb/hazelcast-cannot-start-on-this-node-no-matching-network-interface-found-646447553.html

ソリューション 10

It is recommended that only one Browser window is connected to Confluence during the initial installation wizard and that no other user or health check is targeting the Confluence instance. Multiple open browser windows will be polling the Server for a status update which may affect the Setup and result in a Spring Context error as per  CONFSERVER-59084 - Getting issue details... STATUS

ソリューション 11

If you're running a MySQL database, please check the collation and character set of the database and verify:

  • <charset> is set to either utf8 or utf8mb4
  • <collation> is set to either utf8_bin or utf8mb4_bin

See How to Fix the Collation and Character Set of a MySQL Database manually for more information.

ソリューション 12

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. すべての手順を正常に完了できたことを確認します。
説明 On Confluence Startup, an error is thrown: Spring Application context has not been set.
製品Confluence
プラットフォームServer
最終更新日: 2022 年 10 月 12 日

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

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