Orbeon无法找到license.xml

时间:2015-11-06 11:16:21

标签: tomcat orbeon

我在客户端将Orbeon从4.6升级到4.10。为了确保轻松升级,我们将所有资源文件放在war文件之外的文件夹中,如"Setting up an external resources directory"中所述。

来自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.xmllog4j.xml等)加载所有文件。但是,它表示它无法找到license.xml - 即使它被放置在文件夹中,因为此search from 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文件?

1 个答案:

答案 0 :(得分:0)

我发现造成错误的原因是路径和docBase的组合阻止了Orbeon查找license.xml文件。

我把Orbeon放在一个名为&#34; orbeon&#34;的文件夹中。并设置以下上下文:

<Context path="/blanketmotor/orbeon" docBase="orbeon" ... >
    <Parameter ....>
</Context>

因为Tomcat默认主机设置是autoDeploy =&#34; true&#34; deployOnStartup =&#34; true&#34;,Tomcat将部署放在Webapps文件夹中的autodeploy文件夹。因此,Orbeon正在部署&#34; / blanketmotor / orbeon&#34; (正如我告诉它做的那样)并自动部署上下文&#34; / orbeon&#34;。

由于没有为上下文&#34; / orbeon&#34;覆盖任何参数,Orbeon试图在我的主文件夹中找到license.xml。

为了使上述设置起作用,必须将autoDeploy和deployOnStartup都设置为true。否则将进行双重部署:

  

如果要使用与基本文件名无关的上下文路径部署WAR文件或目录,则必须使用以下选项之一来防止双重部署(取自Tomcat文档):

     
      
  • 禁用autoDeploy和deployOnStartup并在server.xml中定义所有上下文
  •   
  • 在Host的appBase之外找到WAR和/或目录,并使用带有docBase属性的context.xml文件来定义它。
  •