Как переместить только текущий файл с Eclipse и / или Ant? - PullRequest
1 голос
/ 18 ноября 2008

Я работаю в небольшой команде разработчиков веб-приложений. Мы редактируем JSP в Eclipse на наших собственных машинах, а затем переносим их на общий сервер приложений для проверки изменений. У меня есть скрипт Ant, который возьмет ВСЕ JSP на моем компьютере и перенесет их на сервер приложений, но будет перезаписывать только JSP, если те на моем компьютере «новее». Это хорошо работает большую часть времени, но не всегда. Наш метод обновления не сохраняет день / время изменения файла, поэтому вполне возможно, что Обновление на моем компьютере установит для файла день / время сейчас, а не когда файл был изменен в последний раз. Если кто-то еще работал над этим файлом 1 час назад (но еще не зафиксировал изменения), тогда у более старого файла на моем ПК будет более новая дата. Поэтому, когда я запускаю скрипт Ant, он перезапишет их изменения более старым файлом.

То, что я ищу, - это простой способ переместить файл, над которым я сейчас работаю. Есть ли способ указать «текущий» файл в скрипте Ant? Или простой способ переместить текущий файл в Eclipse? Возможно, хороший плагин для такого рода вещей? Я мог бы перейти в Windows Explorer, чтобы отдельно переместить файл, но я бы предпочел сделать это из Eclipse.

Ответы [ 5 ]

1 голос
/ 18 ноября 2008

Добавьте цель к вашему ant файлу сборки, чтобы скопировать один jsp, используя определение свойства командной строки, как описано @matt b.

Создайте новый профиль запуска внешнего инструмента и используйте «Параметры замены строк», чтобы передать ссылку на активный файл в редакторе (resource_name).

См. Справку Eclipse | Руководство по разработке Java | Ссылка | Предпочтения | Run / Debug | Запуск | Подстановка строк

0 голосов
/ 16 декабря 2013

Плагин antrunner4e это именно то, что вы ищете - см. http://sourceforge.net/projects/antrunner4e/

0 голосов
/ 18 ноября 2008

Я предлагаю вам использовать систему контроля версий. Я предпочитаю Subversion. Вы можете использовать CruiseControl для автоматической сборки, когда кто-то фиксирует новый код.

0 голосов
/ 18 ноября 2008

Вы действительно должны использовать контроль исходного кода в любое время, когда несколько человек работают над одним и тем же (ну, вы должны использовать его в любое время, независимо от того, но это другой разговор). Таким образом, когда возникают конфликты, подобные этому, инструмент узнает и заставит кого-то выполнить слияние, чтобы никто не потерял изменения. Затем тестовый сервер может работать на чистом извлечении из источника, и каждый разработчик также может локально протестировать полное приложение, потому что все изменения будут ему немедленно доступны через репозиторий исходного кода.

0 голосов
/ 18 ноября 2008

Как Ant узнает, какой файл был "текущим"? У него нет возможности узнать.

Вы можете передать имя файла в ваш скрипт Ant (используя тот факт, что любые аргументы, которые вы передаете в Ant с помощью -D, автоматически становятся параметрами в вашем скрипте) ...

ant -Dfile = myfile.jsp update

и ваш скрипт будет выглядеть примерно так ...

<copy file=${myfile} todir="blah"/>

... но, вероятно, будет неудобно постоянно вводить имя файла в командной строке.

Честно говоря, описанные вами проблемы неизбежны, когда у вас есть несколько разработчиков, совместно использующих среду. Я думаю, что лучший подход для вас и вашей команды в долгосрочной перспективе состоит в том, чтобы каждый разработчик работал / тестировал на локальном экземпляре сервера приложений до продвижения кода. Это устраняет все головные боли, узкие места и проблемы планирования при совместном использовании сервера приложений с другими людьми.

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