1

在 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.mortbayvs org.eclipse)。如何创建 1 个与 jetty 6 和 jetty 7 兼容的 war 文件?

4

2 回答 2

2

我不知道这是否可以在一个文件中完成,但是您可以使用 ANT 构建脚本来创建两个特定于版本的 WAR(如果您已经这样做了,那就太糟糕了)

在调用 war build 之前,让 ANT 将您的 Jetty 6 或 7 WEB-INF/jetty-web.xml 文件复制到您的 war basedir 中,然后调用类似:

<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>
于 2011-12-22T07:34:57.713 回答
0

穷人的解决方案:为 Jetty 建立 2 场战争

我正在考虑使用 maven 汇编脚本来构建多个战争,但是,我需要jetty-web.xml在我的源代码中完全复制这两个版本的文件。

于 2011-12-22T08:36:12.810 回答