Ответ Монд породил идею о том, что, возможно, я мог бы использовать конфигурацию Cargo, чтобы поместить мой (переименованный и слегка измененный) файл jetty-env.xml в каталог «contextx».К моему изумлению, это просто сработало.Вот что я сделал:
К своей конфигурации груза я добавил следующее:
<configfiles>
<configfile>
<file>${basedir}/../config/jetty-env.xml</file>
<todir>contexts</todir>
<tofile>${jetty6.context}.xml</tofile>
</configfile>
</configfiles>
Но чтобы превратить мой jetty-env.xml в реальный context.xml, я добавил следующее:
<!-- Activates the Jetty-Plus feature so we can create/share JNDI resources -->
<Array id="plusConfig" type="java.lang.String">
<Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
<Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
<Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
<Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
<Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
</Array>
<!-- Miscellaneous properties that were take from the CARGO version of this file that is created automatically
(and then replaced by this file). If you ever upgrade Cargo you may need to change these. -->
<Set name="contextPath">/${jetty6.context}</Set>
<Set name="war">
<SystemProperty name="config.home" default="."/>/webapps/${jetty6.context}.war</Set>
<Set name="extractWAR">true</Set>
<Set name="defaultsDescriptor">
<SystemProperty name="config.home" default="."/>/etc/webdefault.xml</Set>
<Set name="ConfigurationClasses">
<Ref id="plusConfig" />
</Set>
Я беспокоился, что CARGO сбросит свой собственный файл контекста ПОСЛЕ того, как скопировал туда мой, но он был достаточно умен, чтобы копировать мой в последний раз.