Glassfish3.1.1で実行されているJSF2.0アプリケーションがあり、WARファイルのデプロイ時に作成されるアプリケーションルートから物理的に離れた場所にある静的Webページを提供する必要があります。次のようなタグを使用して代替docrootを定義するためのさまざまな参照(これやこれなど)を見つけました。
<property name="alternatedocroot_1" value="from=/myimages/* dir=/images"/>
sun-web.xmlに追加されました(Glassfish 3.1.1ではglassfish-web.xmlを意味すると思います)。しかし、私はそれを機能させることができないようです。私の場合、問題は、glassfish-web.xmlが、代替docrootが意味を持つのに十分なコンテキストを定義していないことだと思います。
<?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 error-url="">
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
<property name="alternatedocroot_1" value="from=/myimages/* dir=/images"/>
</glassfish-web-app>
私のアプリケーション定義の要点は、glassfish-web.xmlよりもweb.xmlの方がはるかに多いようです。代替のdocrootを参照する代わりに、何かをそこに置く必要があるのでしょうか?