Запуск ночных сборок в качестве запланированной задачи XP - Проблема с путем к классу

StackOverflow https://stackoverflow.com/questions/756603

  •  09-09-2019
  •  | 
  •  

Вопрос

Я запускаю ночные сборки JUnit на своем компьютере в качестве запланированной задачи в Windows XP.Мое приложение использует Jaxb, поэтому некоторые тесты должны ссылаться на схемы xsd, используя системный путь к классу.Когда ночная сборка выполняется, когда меня нет за компьютером, я получаю сообщение об ошибке, подобное этому:

java.lang.Исключение:Не удается загрузить схему mySchema.xsd из classpath

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

Редактировать: Альтернативы вроде Хадсона - это не то, о чем я прошу.Я прошу предоставить решение для технологии, описанной выше (пакетный файл, запускаемый как запланированная задача).

Это было полезно?

Решение

Я подозреваю, что ваш рабочий каталог отличается от того, что вы ожидаете (а не конкретно от переменной classpath).Не сразу понятно, выполняете ли вы эту запланированную задачу как пользователь или как системная задача.В любом случае, стоит точно выяснить, где выполняется задача.

Тем не менее, хотя раньше я настраивал автоматические сборки с помощью запланированных задач Windows XP (точно так же, как вы делаете сейчас), в настоящее время мы используем Управление круизом.Абстрактно, это не так уж сильно отличается от того, что вы делаете (регулярно запускаете сборку), но это повышает вашу гибкость.В данном случае наиболее ценной способностью CruiseControl является обнаружение того, что изменения были зафиксированы, и только запуск сборки тогда.Теперь мы узнаем о неработающих сборках, неработающих модульных тестах и т.д. В течение 10 минут после коммита.

Другие советы

хадсон это еще один механизм непрерывной интеграции, который очень-очень прост в настройке:

Hudson предлагает следующие функции:

  • Простая установка:Просто java -jar hudson.war или разверните его в сервлетном контейнере.Никакой дополнительной установки, никакой базы данных.
  • Простая настройка:Hudson можно полностью настроить с помощью его удобного веб-интерфейса с подробным "на лету" проверками ошибок и встроенной справкой. Больше нет необходимости настраивать XML вручную , хотя, если вы хотите сделать so, вы можете сделать и это.
  • Поддержка набора изменений:Хадсон может сгенерировать список изменений, внесенных в сборку из CVS / Subversion / Mercurial.Это также делается довольно эффективным способом, чтобы уменьшить нагрузку на репозиторий.
  • Постоянные ссылки:Hudson дает чистый читаемый URL-адреса для своих страниц, в том числе некоторые постоянные ссылке "последний строить"/"последний успешный строить", так что они могут быть легко связан из других стран.
  • Интеграция с RSS / электронной почтой / мгновенными сообщениями:Отслеживайте создавайте результаты по RSS или электронной почте, чтобы получать уведомления о сбоях в режиме реального времени.
  • Пометка после установления факта:Сборки могут быть помечены задолго до завершения сборки завершенный тест JUnit / TestNG отчетность:Отчеты о тестировании JUnit могут быть сведены в таблицу, обобщены и отображены с информацией об истории, такой как когда начались сбои и т.д.Исторический тренд отображается в виде графика.
  • Распределенные сборки:Hudson может распределять сборку / тестовые нагрузки на несколько компьютеров.Это позволяет вам получать максимальную отдачу от бездействующих рабочих станций, расположенных под столами разработчиков.Файл снятие отпечатков пальцев:Хадсон может отслеживать какая сборка произвела какие jar, и какая сборка использует какую версию jar и так далее.Это работает даже для jar, которые производятся за пределами Хадсона, и идеально подходит для проектов по отслеживанию зависимостей.
  • Поддержка плагинов:Hudson может быть расширен с помощью сторонних плагинов.Вы можете писать плагины для make Hudson поддерживать инструменты / процессы, которые использует ваша команда.

Вам следует проверить Хадсон или Круиз-контроль.Оба они просты в настройке и решат проблему такого рода за вас, предоставляя больше отчетов, контроля и улучшая удобство использования.Вы потратите меньше времени на изучение проблем сборки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top