Пожалуйста, предложите хорошую конфигурацию для удаленной разработки Java? - PullRequest
1 голос
/ 19 января 2011

У нас есть удаленный Linux-модуль под управлением Ubuntu, к которому мы обращаемся по SSH.На коробке установлены apache-2, коннекторы ajp13 для tomcat-6, mySQL-5 для реляционных БД, библиотеки Spring (dbcp) для пулов db-соединений и т. Д. Основная программа - это сервлет и связанные системы управления данными / сессиямивместе с несколькими апплетами и связью между теми, кто использует потоки ObjectIO.

Вопрос: Каков хороший способ управления усилиями по разработке такого проекта в такой среде?Вот что мы делаем сейчас:

o Редактирование исходного кода с помощью VIM o Компиляция в командной строке с помощью javac o Сборка, подписывание апплетов и размещение соответствующих jar-файлов с помощью "jar cvf" в сценариях оболочки.o Иногда разрабатывают небольшие части локально и переносят исходный код для интеграции.o Запустите сервлет, выполняющий сценарий perl, который передает разные входные переменные в init ().

Пока он работает, но не является надежной, масштабируемой системой, доступной для нескольких разработчиков.Более того, нам не хватает возможности нагрузочного тестирования (на данный момент это не очень важно, но, тем не менее, отсутствует).Если вы работали с такой удаленной системой, расскажите, пожалуйста, о своем опыте работы с различными инструментами.Спасибо.Обратите внимание, что:

o Возможно, у нас недостаточно пропускной способности для запуска X-сервера в Linux и запуска VNC. O Мы не можем щелкнуть стрелку на затмении - это удаленная система

Если естьесли бы сервер Eclipse работал в Linux, а клиент в локальной Windows подключался к этому серверу через ssh, это было бы идеально, хотя нам пришлось бы переучиваться, чтобы использовать систему.Ждем ваших ответов.

1 Ответ

2 голосов
/ 19 января 2011

Если вы используете версию Eclipse для Java EE (как подсказывает ваш вопрос), тогда вы найдете перспективу RSE (Remote System Explorer).
С точки зрения разработчика, все файлы в удаленной системе просматриваются как локально через ssh. Это также означает редактируемый конечно. Вы можете создавать свои собственные фильтры (подсказка как переменные env).

В сочетании с оболочкой сценарии оболочки окрашены. Вы можете вырезать и вставлять файлы из рабочей области на удаленный компьютер и т. Д. *

Конечно, RSE может подключаться к нескольким серверам (dev, int и prod).
Отличная экономия времени ИМО.

Добавление этой заметки в ответ, чтобы разместить всю информацию в одном месте:
В вашем случае, IIUC, Linux - это удаленная машина, а станции разработчика, по-видимому, являются коробками Wintel. В Linux нет необходимости запускать Eclipse.
Eclipse RSE поддерживает несколько видов «транспортных» опций, основанных на ECF (Eclipse Communication Framework), ssh и DStore. True DStore немного странно в использовании, но вы можете сделать почти все, используя только протокол ssh.
У меня нет других учебных пособий, кроме того, что есть на сайте Eclipse.

Что касается сборки и развертывания, мы используем maven, интегрированный с Eclipse WTP (в настоящее время оба плагина maven eclipse, q4e и m2, совместимы с моделью публикации WTP) на станциях разработчиков, и в основном есть два варианта:

  1. Либо вы разрабатываете локально с помощью maven / wtp и время от времени копируете свой целевой jar / wars в коробку Linux с помощью простого вырезания и вставки с использованием RSE (в долгосрочной перспективе это более быстрый подход).

  2. Или вы настраиваете maven для развертывания ваших артефактов каждый раз на Linux-боксе (в долгосрочной перспективе это, вероятно, утомительно и потребует некоторой синхронизации, если будет более одного разработчика).

На данный момент я не нашел (но был бы заинтересован ;-), используя модель WTP через RSE / SSH или любое другое подобное решение.

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