Confluence配置Spring Application上下文尚未设置

时间:2016-07-19 02:09:24

标签: java confluence

我尝试在我自己的ubuntu服务器上安装confluence,但总是失败。错误是:

com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.IllegalStateException: Spring Application context has not been set
at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149)

caused by: java.lang.IllegalStateException: Spring Application context has not been set
at com.atlassian.spring.container.SpringContainerContext.getComponent(SpringContainerContext.java:48)

我在jira confluence论坛上看到了一些解决方案,试图修复已安装目录和主目录的权限。我试过但又失败了。我该如何解决这个问题。

2 个答案:

答案 0 :(得分:2)

在我的情况下,问题已损坏 confluence.cfg.xml 文件(包含数据库连接叮咬和其他设置)。文件大小为0字节。

我建议使用VM创建新安装并从该安装中借用confluence.cfg.xml。

令人尴尬的是,这种行为已被允许在商业产品中存在近7年。这是基本的东西......

我希望那是在某处的指示: Make single backup copy of confluence.cfg.xml immediately before any writes to it by the application. Application should be able to restore from backed up copy if it gets corrupted.

答案 1 :(得分:0)

Atlassian documentation列出了此问题的以下原因:

  1. 运行Confluence的用户对<install>/confluence/WEB-INF/classes/confluence-init.properties或安装目录中定义的主文件夹没有写入权限。
  2. 您正在以root用户身份运行Confluence,或者您启用了应用程序防火墙(SeLinux或AppArmor)。
  3. 数据库驱动程序不在<install>/confluence/WEB-INF/lib文件夹中,或者您使用的是与捆绑驱动程序不兼容的数据库版本。
  4. 无法解析服务器的主机名。
  5. 在我的情况下,我在docker容器中以root用户身份运行它。