2012-04-26 50 views
1

アップロードした画像をappディレクトリの外に置くには、alternatedocrootプロパティが必要です。私はそれがこのようにGlassFishの-web.xmlの内部で正しく動作します:glassfish-web.xmlとalternatedocrootのdomain.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> 
その実装と私の問題は、私がのために戦争をbuildling時にうまく動作しませんコードベースにチェックインこのファイルを、持っているだろうということです

他の環境(異なるdirパス)。

私はdomain.xmlを入れてみました(コードベースではなくサーバー固有のものだと考えていましたが)、動作させることができませんでした。私はドメインの子供としてそれを置くが、運はない。エラーはなく、ただ機能しませんでした。

アイデア?私はdomain.xmlで同じプロパティ設定を使用できるはずですか?

これは悪い習慣ですが、他の選択肢がありますか?

ありがとうございます。

+1

nope、代替do crootはWebアプリケーションのプロパティであり、サーバーではないため、他のファイルでは機能しません。 – JoseK

+0

"default-web-module"領域を空けておいてください! – user2758527

答えて

1

私の場合、glassfish-web.xml alternatedocroot_nを動作させることができませんでした。ただし、Glassfish管理コンソールの仮想サーバー - >サーバーの追加のプロパティを使用してdomain.xmlに同じエントリを追加すると、alternatedocroot_nがすぐに機能しました。 (サーバーの再起動後)。参考:シンボリックリンクを使用しようとしましたが、うまくいきませんでした。

Linux 5で実行されているGlassfish 3.1.2を使用しています。代替ルートは、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> 
関連する問題