2012-04-26 51 views
1

我需要一個alternatedocroot屬性來將我上傳的圖像放在應用程序目錄之外。我把它與GlassFish的web.xml內正常工作是這樣的:glassfish-web.xml vs domain.xml for alternatedocroot

<?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> 

我與執行問題是,我有這個文件代碼庫檢查,buildling一戰的時候,將無法正常工作其他環境(不同的目錄路徑)。

我試圖把domain.xml中(搞清楚這將是服務器特定的,而不是在代碼庫),但不能得到它的工作。我把它作爲領域的孩子,但沒有運氣。沒有錯誤,它只是沒有工作。

任何想法?我應該可以在domain.xml中使用相同的屬性設置,對吧?

如果這是不好的做法,有沒有其他的選擇?

在此先感謝。

+1

nope,備用do croot是web應用程序的一個屬性,而不是服務器的屬性,所以它不會在任何其他文件中工作 – JoseK 2012-05-04 12:20:49

+0

請小心將區域「default-web-module」空置。 – user2758527 2013-09-14 05:48:43

回答

1

就我而言,我無法得到GlassFish的-web.xml中alternatedocroot_n工作。但是,當我使用Glassfish管理控制檯虛擬服務器 - >服務器附加屬性在domain.xml中放入相同條目時,alternatedocroot_n立即生效。 (服務器重啓後)。僅供參考:我試圖使用符號鏈接,但沒有奏效。

我使用的Glassfish 3.1.2在Linux 5. 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>