在 Ubuntu 16.04 上使用 tomcat-8.0.32。
我配置了 /etc/tomcat8/server.xml
以允许访问 2 个不同的 dspace 实例,如下所示:
<!-- DSpace Instance A -->
<Context path="/dspaceA" docBase="/home/pkaramol/Workspace/dspace/dspace-installation/webapps/jspui" reloadable="true" />
<Context path="/solr" docBase="/home/pkaramol/Workspace/dspace/dspace-installation/webapps/solr" reloadable="true">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="my\.static\.ip\.addr|127\.0\.0\.1|123\.123\.123\.123|111\.222\.233\.d+"/>
<Parameter name="LocalHostRestrictionFilter.localhost" value="false" override="false" />
</Context>
<!-- DSpace Instance B -->
<Context path="/dspaceB" docBase="/home/pkaramol/Workspace/tomcat-deployments/dspaceB" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="my\.static\.ip\.addr|127\.0\.0\.1|123\.123\.123\.123|111\.222\.233\.d+"/>
<Parameter name="LocalHostRestrictionFilter.localhost" value="false" override="false" />
</Context>
然而,尽管实例 A 是可访问的,但实例 B 返回 404 错误。
奇怪的是,在 catalina.out
上,我收到了关于实例 B 的警告。
WARNING: The web application [dspaceB] appears to have started a thread named [TestScheduler_Worker X] but has failed to stop it. This is very likely to crreate a memory leak.
警告重复 1 <= X <= 50。
所以webapp dspaceB确实被tomcat8识别了。
404
错误是怎么来的?
编辑:一些新发现:
当从 server.xml
中删除 DSpace 实例 B 条目并将其移动到 tomcat8 的默认 webapps 部署目录时 (/var/lib/tomcat8/webapps/
) ,我不再收到 404
错误,而是 Java.lang.OutOfMemoryError: Java heap space
异常和常量
Memory usage is low, parachute is non existent, your system may start failing
关于 catalina.out
的警告
最佳答案
不知道您的具体问题——但 DSpace(至少 6.0 候选版本)是 known那个确切的tomcat版本有问题。也许这是相关的。
关于java - Tomcat8:404 错误,尽管 webapp 文件夹存在(dspace 实例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37655237/