Каков разумный способ преобразовать сложный скрипт Ant в набор проектов Eclipse? - PullRequest
3 голосов
/ 06 августа 2010

Я унаследовал существующий скрипт сборки Ant. Он вызывает javac три раза в трех разных исходных каталогах: общий, клиентский и серверный. Затем он создает два файла JAR: client.jar (общий + клиент) и server.jar (общий + сервер).

Когда я перевел это на Eclipse, я закончил тем, что сделал три проекта с соответствующими зависимостями. Это работает, но я не фанат взрыва проекта Eclipse (это был простой случай; у меня есть около десятка таких скриптов ant, и некоторые из них превратились бы в 6 или 7 проектов Eclipse).

Мой вопрос: есть ли лучший способ?

Я должен также упомянуть, что я не хочу просто создавать один проект Eclipse с тремя исходными каталогами. Это не тот способ, которым Ant компилирует код, и было бы сложнее находить случаи, когда люди использовали классы из недоступного исходного дерева (используя серверные классы из клиентского кода). (У меня также есть классы с одинаковыми именами в клиенте и на сервере, поэтому я не могу просто сбросить весь исходный код вместе.)

1 Ответ

1 голос
/ 06 августа 2010

У нас есть похожий проект: 13 проектов eclipse, каждый со своими собственными скриптами муравья.7 из них являются общими и создают JAR-файлы, остальные 6 - веб-приложения, которые упаковываются в WAR-файлы.Сценарий ant для каждого из WAR-производящих проектов вызывает сборку в его зависимостях и всасывает сгенерированные jar-файлы в lib.Итак, нет, у нас нет лучшего способа, но у меня есть смутное видение того, как все могло бы быть лучше, если бы мы перешли с ant на maven:

7 общих проектов меняются гораздо реже, чем веб-приложения,Я хотел бы опубликовать эти общие JAR-файлы проекта в нашем собственном репозитории, а затем для каждого из веб-приложений указать, какая версия зависимости им нужна, и позволить maven обработать ее для нас.Таким образом, нам не нужно было бы открывать все проекты JAR в Eclipse, если мы не вносили в них изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...