#jetty #jboss-weld #appserver
#jetty #jboss-weld #appserver
Вопрос:
В 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 файл war, который совместим как с jetty 6, так и с jetty 7?
Ответ №1:
Я не знаю, можно ли это сделать в одном файле, но вы могли бы использовать сценарий сборки ANT для создания двух войн, зависящих от версии (мой плохой, если вы уже это делаете)
Перед вызовом сборки war попросите 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>
Комментарии:
1. Это дало бы мне 2 войны для Jetty, мне нужен 1. Но, боюсь, вы правы, что это единственный способ. Я тоже добавил свой maven.
Ответ №2:
Решение бедняка: создайте 2 wars для Jetty.
Я подумываю об использовании скриптов сборки maven для создания нескольких войн, однако мне нужно полностью дублировать jetty-web.xml
файл для обеих версий в моих источниках.