-1

当我在 Eclipse 中开发 Web 应用程序时,运行时 workingdir 是我项目的基本路径

c:\workspace\project <-- Workingdir
c:\workspace\project\WebContent

但是当我将它部署到实时 unix tomcat 时,“WebContent”是我的工作目录。

现在我有一个配置文件

WebContent\WEB-INF\repository.xml

和一个指向这个文件的 Spring bean

<bean id="config" class="org.apache.jackrabbit.core.config.RepositoryConfig" factory-method="create">
    <constructor-arg index="0" value="WebContent/WEB-INF/repository.xml" />
    <constructor-arg index="1" value="JACKRABBITREPOSITORY" />
</bean>

这在 unix tomcat 上不起作用,因为他会寻找一个子目录“WebContent”,但他已经在这个目录中。

我该怎么做

c:\workspace\project\WebContent

eclipse中的工作目录,所以两者都可以使用相同的路径

4

1 回答 1

0

把它放在../WEB-INF/classes/dir 中并直接引用它,因为这个路径总是在你的类路径中。

<bean id="config" class="org.apache.jackrabbit.core.config.RepositoryConfig" factory-method="create">
    <constructor-arg index="0" value="repository.xml" />
    <constructor-arg index="1" value="JACKRABBITREPOSITORY" />
</bean>

您甚至可以为此创建一个目录,例如“config”../WEB-INF/classes/config/repository.xml

<bean id="config" class="org.apache.jackrabbit.core.config.RepositoryConfig" factory-method="create">
    <constructor-arg index="0" value="classpath:config/repository.xml" />
    <constructor-arg index="1" value="JACKRABBITREPOSITORY" />
</bean>
于 2012-04-02T10:30:52.110 回答