代码之家  ›  专栏  ›  技术社区  ›  hhuntercu

带Tomcat 9.0的DSpace 7.2-循环占位符引用“DSpace”。属性定义中的dir

  •  0
  • hhuntercu  · 技术社区  · 2 年前

    我正在与DSpace抗争,我试图在Ubuntu 18.04.6 LTS上使用 https://wiki.lyrasis.org/display/DSDOC7x/Installing+DSpace 指南,但只到了第11步,然后我在Tomcat日志上得到了这个错误,我在google上搜索过,但到目前为止没有运气。提前感谢

    java.lang.IllegalStateException: Error starting child
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:716)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:695)
            at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:631)
            at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1832)
            at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
            at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
            at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
            at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
            at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:526)
            at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:425)
            at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1577)
            at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
            at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
            at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
            at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:929)
            at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
            at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
            at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
            at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
            at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
            at org.apache.catalina.core.StandardService.startInternal(StandardService.java:423)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
            at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:928)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
            at org.apache.catalina.startup.Catalina.start(Catalina.java:638)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.base/java.lang.reflect.Method.invoke(Method.java:566)
            at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:496)
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/dspace-conf]]
            at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:713)
            ... 37 more
    Caused by: java.lang.IllegalArgumentException: Circular placeholder reference 'dspace.dir' in property definitions
            at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:145)
            at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:166)
            at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:124)
            at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:236)
            at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210)
            at org.springframework.core.env.AbstractPropertyResolver.resolveNestedPlaceholders(AbstractPropertyResolver.java:227)
            at org.springframework.core.env.PropertySourcesPropertyResolver.getProperty(PropertySourcesPropertyResolver.java:88)
            at org.springframework.core.env.PropertySourcesPropertyResolver.getProperty(PropertySourcesPropertyResolver.java:62)
            at org.springframework.core.env.AbstractEnvironment.getProperty(AbstractEnvironment.java:535)
            at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:311)
            at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:288)
            at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:246)
            at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:223)
            at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
            at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
            at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
            at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
            at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76)
            at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
            at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
            at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
            at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:152)
            at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:132)
            at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:92)
            at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:172)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5125)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
            ... 38 more
    
    0 回复  |  直到 2 年前
        1
  •  1
  •   Tim Donohue    2 年前

    主要错误似乎是:

    Circular placeholder reference 'dspace.dir' in property definitions at ...
    

    通常,DSpace配置(使用apachecommons配置)中的“循环引用”意味着您有一个以某种方式引用自身的配置。

    比如说 dspace.dir = ${dspace.dir} 将创建“循环引用”错误。“循环引用”也可以通过两个相互引用的单独配置发生,如设置 dspace.dir = ${my.custom.dir} my.custom.dir = ${dspace.dir} .

    基本上,您应该仔细检查是否为 dspace.dir 在您的 local.cfg 文件听起来DSpace无法理解您的 数据空间。目录 设置,因此出现错误。