对于alternatedocroot,glassfish-web.xml vs domain.xml

时间:2012-04-26 17:38:49

标签: resources glassfish glassfish-3

我需要一个alternatedocroot属性才能将我上传的图片放在app目录之外。我在glassfish-web.xml中正常工作,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
    <context-root>/</context-root>
    <property name="alternatedocroot_1" value="from=/uploads/* dir=c:/development/mm_uploads" description="Uploaded Images"/>
</glassfish-web-app>

我对该实现的问题是我会将此文件签入代码库,在为其他环境(不同的目录路径)构建战争时,这将无法正常工作。

我尝试放入domain.xml(认为这是特定于服务器的,而不是代码库中),但无法使其工作。我把它作为域名的孩子,但没有运气。没有错误,它只是没有用。

有什么想法吗?我应该能够在domain.xml中使用相同的属性设置,对吧?

如果这是不好的做法,还有其他选择吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

在我的情况下,我无法使用glassfish-web.xml alternatedocroot_n工作。但是,当我使用Glassfish管理控制台虚拟服务器在domain.xml中放入相同的条目时 - &gt;服务器附加属性,alternatedocroot_n立即工作。 (服务器重启后)。仅供参考:我尝试使用符号链接,但这不起作用。

我正在使用在Linux 5上运行的Glassfish 3.1.2。alternatedocroot指向ExtJs 4.0.7库。

<强> domain.xml中:

    <virtual-server id="server" network-listeners="http-listener-1,http-listener-2">
      <property name="alternatedocroot_1" value="from=/extjs.4.0.7/* dir=/usr/lib/js"></property>
    </virtual-server>

这相当于/usr/lib/js/extjs.4.0.7 /...

希望这有助于某人..

<强>的index.jsp:

<link rel="stylesheet" type="text/css" href="/extjs.4.0.7/resources/css/ext-all.css">
<script type="text/javascript" src="/extjs.4.0.7/ext-all-debug.js"></script>