Вы можете использовать Ant для настройки, компиляции, WAR и развертывания решения.
<target name="default" depends="setup,compile,buildwar,deploy"></target>
Затем вы можете выполнить один щелчок в Eclipse, чтобы запустить эту цель Ant. Вот примеры каждого из шагов:
1010 * Предпосылки *
Предположим, что ваш код организован следующим образом:
${basedir}/src
: файлы Java, свойства, файлы конфигурации XML
${basedir}/web
: файлы JSP
${basedir}/web/lib
: любые файлы JAR, необходимые во время выполнения
${basedir}/web/META-INF
: ваш манифест
${basedir}/web/WEB-INF
: Ваши файлы web.xml
Настройка
Определите задачу setup
, которая создает каталог распространения и копирует любые артефакты, которые должны быть WARRED напрямую:
<target name="setup">
<mkdir dir="dist" />
<echo>Copying web into dist</echo>
<copydir dest="dist/web" src="web" />
<copydir dest="dist/web/WEB-INF/lib" src="${basedir}/../web/WEB-INF/lib" />
</target>
Compile
Создайте свои Java-файлы в классы и скопируйте любые не-Java-артефакты, которые находятся в src
, но должны быть доступны во время выполнения (например, свойства, XML-файлы и т. Д.):
<target name="compile">
<delete dir="${dist.dir}/web/WEB-INF/classes" />
<mkdir dir="${dist.dir}/web/WEB-INF/classes" />
<javac destdir="${dist.dir}/web/WEB-INF/classes" srcdir="src">
<classpath>
<fileset dir="${basedir}/../web/WEB-INF/lib">
<include name="*" />
</fileset>
</classpath>
</javac>
<copy todir="${dist.dir}/web/WEB-INF/classes">
<fileset dir="src">
<include name="**/*.properties" />
<include name="**/*.xml" />
</fileset>
</copy>
</target>
Сборка WAR
Создайте саму WAR:
<target name="buildwar">
<war basedir="${basedir}/dist/web" destfile="My.war"
webxml="${basedir}/dist/web/WEB-INF/web.xml">
<exclude name="WEB-INF/**" />
<webinf dir="${basedir}/dist/web/WEB-INF/">
<include name="**/*.jar" />
</webinf>
</war>
</target>
Deploy
Наконец, вы можете настроить задачу для развертывания WAR непосредственно в папку развертывания Tomcat:
<target name="deploy">
<copy file="My.war" todir="${tomcat.deploydir}" />
</target>
Нажми и иди!
Как только все это будет настроено, простой запуск цели default
из Eclipse скомпилирует, WAR и развернет ваше решение.
Преимущество этого подхода заключается в том, что он будет работать как вне Eclipse, так и внутри Eclipse, и его можно использовать для простого предоставления вашей стратегии развертывания (например, через систему контроля версий) другим разработчикам, которые также работают над вашим проектом.