Существует новый набор заданий Ant, которые используют Меркурий. Mercury - это переработанный код, который станет основой взаимодействия Maven 3 с репозиториями Maven (и OSGi), который реализуется Олегом Гусаковым. Меркурий хорошо протестирован, и вы можете начать использовать его в проектах Ant уже сегодня. Взгляните на некоторые инструкции, которые написал Олег:
http://people.apache.org/~ogusakov/sites/mercury-ant/mercury-ant-tasks/howto.html
Вот простой пример использования Mercury в файле Ant build.xml. Следующий файл сборки создает путь к классу, который зависит от версии 3.0 артефакта asm:
<javac srcdir="src/main/java"
destdir="target/classes">
<classpath>
<deps>
<dependency name="asm:asm:3.0"/>
</deps>
</classpath>
</javac>
Существует множество расширенных функций, таких как поддержка проверки подписей PGP или дайджестов MD5. Вы также можете начать определять различные хранилища, от которых зависит Меркурий. Этот XML позволяет вам определять ссылку на хранилище, например Nexus , в дополнение к использованию локального каталога в качестве хранилища:
<repo id="myCentral"
url="http://localhost:8081/nexus/contengs/groups/public"/>
<repository dir="/my/local/repo"/>
<javac srcdir="src/main/java"
destdir="target/classes">
<classpath>
<deps>
<dependency name="asm:asm:3.0"/>
</deps>
</classpath>
</javac>
Если вам нужно сослаться на репозиторий, требующий аутентификации, Mercury поддерживает сохранение имени пользователя и пароля:
<repo id="myCentral"
url="http://localhost:8081/nexus/contengs/groups/public">
<auth name="foo" pass="bar"/>
</repo>
<javac srcdir="src/main/java"
destdir="target/classes">
<classpath>
<deps>
<dependency name="asm:asm:3.0"/>
</deps>
</classpath>
</javac>
Наиболее убедительным является возможность публикации артефакта в хранилище из файла сборки Ant. Если вы работаете в организации любого масштаба, вам нужно подумать о развертывании артефактов в менеджере хранилища, например Nexus . С помощью Mercury вы можете начать развертывание артефактов у менеджера хранилища без необходимости использовать Maven. Вот файл сборки, который определяет аутентифицированное хранилище и записывает артефакт:
<repo id="myCentral"
url="http://localhost:8081/nexus/contengs/groups/public">
<auth name="foo" pass="bar"/>
</repo>
<write repoid="myCentral"
name="t:t:1.0"
file="${basedir}/target/t.jar"/>
Mercury готов к использованию, и от Олега можно ожидать немало событий. Если вы хотите начать использовать его, лучше всего поискать на странице с инструкциями Олега . (Примечание: эта информация вскоре будет включена в Руководство по эксплуатации )