在Jetty 6中,我需要创建一个包含以下内容的WEB-INF/jetty-web.xml
文件:
<Configure id="webAppCtx" class="org.mortbay.jetty.webapp.WebAppContext">
但是在Jetty 7中我需要相同的文件WEB-INF/jetty-web.xml
来包含它:
<Configure id="webAppCtx" class="org.eclipse.jetty.webapp.WebAppContext">
两个文件都不同(org.mortbay
vs org.eclipse
)。如何创建1个与jetty 6和jetty 7兼容的war文件?
答案 0 :(得分:2)
我不知道这是否可以在一个文件中完成,但是您可以使用ANT构建脚本来创建两个特定于版本的WAR(如果您已经这样做了,那就太糟糕了)
在调用war build之前,让ANT在你的war basedir中复制你的Jetty 6或7 WEB-INF / jetty-web.xml文件,然后调用类似的东西:
<target name="buildwar">
<buildnumber />
<war basedir="dist/web" destfile="${warName}-jetty${jettyVersion}.war"
webxml="dist/WEB-INF/web.xml">
<webinf dir="dist/WEB-INF/">
<include name="**/*.jar" />
</webinf>
<manifest>
<attribute name="displayName" value="${warDisplayName} for Jetty ${jettyVersion}" />
<attribute name="Implementation-Version" value="${build.number}" />
</manifest>
</war>
</target>
答案 1 :(得分:0)
穷人的解决方案:为Jetty构建2场战争。
我正在考虑using maven assembly scripts to build multiple wars,但是,我需要完全复制源代码中两个版本的jetty-web.xml
文件。