我正在升级Orbeon,从4.6升级到4.10,用于at客户端。为了确保易于升级,我们将所有资源文件放在war文件之外的文件夹中,如“设置外部资源目录”所述。
我来自server.xml的上下文如下所示:
<Context
path="/blanketmotor/orbeon"
docBase="/orbeon"
reloadable="false"
override="false"
allowLinking="true">
<Parameter override="false" name="oxf.resources.priority.0"
value="org.orbeon.oxf.resources.FilesystemResourceManagerFactory"/>
<Parameter override="false"
name="oxf.resources.priority.0.oxf.resources.filesystem.sandbox-directory"
value="C:\Users\ewp\IdeaProjects\blanketservice_src\Tools\konfiguration\version410\local\resources-blanketmotor"/>
</Context>Orbeon从指定的文件夹(properties-local.xml、log4j.xml等)加载所有文件。但是,它说它找不到license.xml -尽管它被放置在这个从PowerShell搜索显示的文件夹中。
Orbeon给我的例外是:
C:\Users\ewp\.orbeon\license.xml (The system cannot find the path specified)
Exception: java.io.FileNotFoundException它似乎是转向家庭的选择,首先。当它在这里找不到license.xml时,它就放弃了,而不尝试指定的任何其他资源。不幸的是,我不能选择将license.xml放在home-dir中。
有人知道如何让Orbeon知道我的资源文件夹中的license.xml文件吗?
发布于 2015-11-10 16:00:02
我发现导致errorIt的原因是path和docBase的结合,这使得Orbeon无法找到license.xml文件。
我将Orbeon放在一个名为"orbeon“的文件夹中,并设置了以下上下文:
<Context path="/blanketmotor/orbeon" docBase="orbeon" ... >
<Parameter ....>
</Context>由于Tomcat默认主机设置为autoDeploy="true“deployOnStartup="true",Tomcat将部署放置在Webapps文件夹中的自动部署文件夹。因此,Orbeon既部署了"/blanketmotor/orbeon“(正如我说的那样),又自动部署了上下文"/orbeon”。
由于没有为上下文"/orbeon“重写任何参数,Orbeon试图在我的主文件夹中找到license.xml。
为了使上述设置能够工作,必须将autoDeploy和deployOnStartup都设置为true。否则,将进行双重部署:
如果要使用与基本文件名无关的上下文路径部署WAR文件或目录,则必须使用下列选项之一防止双重部署(取自Tomcat文档):
https://stackoverflow.com/questions/33565587
复制相似问题