Java, Eclipse, Ant, JUnit, Hudson, SVN, нативные библиотеки; могут ли они все сосуществовать? - PullRequest
2 голосов
/ 15 января 2010

Как наиболее правильно выполнить все следующие действия:

  • Создать проект в Eclipse
  • С помощью файла сборки Apache Ant
  • Что Хадсон (или другая более рекомендуемая система CI?) Использует
  • И поддержка тестов JUnit, которые выполняются Ant / Hudson и Eclipse
  • И проверьте правильную структуру папок в SVN, чтобы будущие разработчики могли реплицировать сборку, и Хадсон может автоматически извлечь из SVN и запустить файл Ant для сборки / тестирования / развертывания проекта
  • И в проекте есть нативные библиотеки, если это имеет какое-то значение (я уже написал задачу Ant, которая может загружать и распаковывать нужные файлы библиотеки в зависимости от ОС)

У меня уже есть проект с некоторыми исходными файлами и файлом Ant, но у меня возникли проблемы с его упорядоченной интеграцией с Eclipse, поэтому мне бы очень хотелось начать с нового проекта Eclipse, настроить его правильно и затем пошагово скопируйте мой Ant-файл и мои исходные файлы в проект наиболее совместимым с Eclipse способом.

Я буду продолжать играть со всем, пытаясь заставить его работать так, как мне нравится. Но если у вас есть опыт работы с подобными вещами, возможно, на рабочем месте, пожалуйста, предоставьте как можно больше информации.

Моя главная цель - изучить это один раз и использовать в своих будущих проектах. Сейчас я занимаюсь разработкой клиент-серверного приложения, состоящего из внешнего интерфейса апплета JOGL (с использованием файлов JNLP) и серверного приложения без присмотра. До сих пор я делал все вручную: писал и собирал в Eclipse, перетаскивал jar-файл апплета в мой FTP-клиент, SSH-файл jar сервера и перезапускал его вручную, и все это без процесса тестирования. Я надеюсь, что к концу процесс сборки будет выглядеть примерно так: локально протестируйте на моей машине копию собственных библиотек; фиксировать изменения кода в SVN; Hudson svn update s использует сборочный файл Ant для компиляции и запуска всех тестов JUnit; если все тесты пройдены, он продолжает копирование jar-сервера на мой выделенный сервер и перезапускает работающий экземпляр сервера, а затем копирует jar-файл клиента на мой веб-сервер.

Ответы [ 3 ]

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

Когда я начинаю новый проект, я обычно делаю следующие шаги:

  1. Создайте новый проект Java в Eclipse, используя мастер проектов Java и решив хранить исходные файлы и файлы классов в отдельных каталогах ('src' и 'class')
  2. Настройте проект в Eclipse с нужной вам структурой пакета
  3. Создайте новый репозиторий (или папку в вашем репозитории) для проекта с помощью обычной / trunk / / branch / / tags / set
  4. Используя ваш SVN-клиент, импортируйте содержимое папки проекта Eclipse, созданной для проекта (на уровне, где находятся каталоги 'src' и 'class'), в ствол хранилища
  5. Убедитесь, что все в Subversion правильно (проверьте сундук на новое место)
  6. Используя Eclipse, удалите проект (и файлы на диске)
  7. Создание нового проекта с помощью мастера «Извлечение проектов из SVN» с использованием ствола хранилища
  8. Создайте свой сценарий Ant, убедитесь, что проект собран правильно, и добавьте сценарий Ant в хранилище

Теперь от Гудзона:

  1. Создайте новое задание и установите URL-адрес Subversion в корне хранилища
  2. Добавьте набор сборки, который будет использовать Ant (мне всегда приходилось устанавливать свою собственную версию Ant и убедиться, что она настроена правильно, чтобы эта работа работала) и будет вызывать скрипт Ant для вас
  3. Используйте 'Build Now', чтобы увидеть, будет ли задание построено правильно

Вы можете вызывать ваши тесты JUnit из Ant в скрипте сборки (сначала скомпилируйте их с помощью задачи javac, затем запустите их с помощью задачи junit). Хадсон будет отслеживать результаты теста, если вы попросите его.

Вы можете использовать шаг сборки сценария оболочки, чтобы скопировать jar-сервер в нужное место и перезапустить экземпляр сервера. Как сказал Мнемент, звучит так, будто у вас отсортированы нативные библиотеки ...

1 голос
/ 19 января 2010

В нашей компании мы фактически используем Eclipse, Java, Ant, SVN, Junit и Hudson. Это все, что вы упомянули, кроме родных библиотек. Если вы сказали, что ваш ant-buildscript уже работает с нативными библиотеками, эта проблема, похоже, тоже решена. Чтобы хорошо интегрировать его в Eclipse, вы можете сделать это двумя способами: использовать Ant также из Eclipse (имеет недостатки) или разработчик должен правильно установить нативную библиотеку для своего компьютера, чтобы Eclipse мог без проблем компилировать и для непрерывной интеграции будет загружен Ant.

1 голос
/ 15 января 2010

Если вы не привязаны к использованию муравья и готовы использовать Maven , тогда просто нужно настроить Maven с помощью Eclipse-плагина , который генерирует проекты Eclipse. для вас.

Хадсон уже знает, как создавать проекты Maven, поэтому об этом позаботятся.

Пока вы можете затянуть свои проекты в затмение, он сможет запускать модульные тесты, а hudson может использовать ранее упомянутую поддержку maven для запуска модульных тестов.

Если вы используете Maven, то вам следует следовать его указаниям по созданию проекта, здесь является хорошей отправной точкой.

Надеюсь, это поможет.

...