Хадсон не использует сгенерированный Maven путь к классам? - PullRequest
1 голос
/ 08 января 2011

Я пытаюсь найти путь к классу в моем проекте во время выполнения.Мы используем Maven для управления сборкой и Hudson для CI.На моей локальной коробке, конечно, все отлично работает.Однако, когда Hudson выполняет модульные тесты, он не может найти классы, сгенерированные во время сборки - Maven должен поместить их в ./target/classes, но когда я регистрирую classpath (System.getProperty("java.class.path")) из Hudson, он только дает мне списокс двумя связанными с maven JAR-файлами - вообще нет каталогов и, конечно же, нет выходного каталога компилятора текущего проекта.Это вина Гудзона?В Maven?Я иду по этому пути неправильно?

ETA: я думаю это могло бы быть исправлено путем обновления среды выполнения Maven, используемой Хадсоном.Проблема заключалась в том, что мы искали классы плагинов с помощью рефлексии, аналогично идеям, изложенным в в этом посте - не тот фактический код, но он дает вам представлениеВ любом случае, похоже, что Хадсон использовал путь к классам, который только «загружал» реальный тестовый комплект;по какой-то причине это кажется исправленным сейчас.Короче говоря: если у вас похожая проблема, попробуйте обновить Maven.

1 Ответ

0 голосов
/ 10 мая 2011

Два исправления. Во-первых, обновить Maven. Во-вторых, не полагайтесь на хакерский путь к классам, чтобы перебирать вещи, которые может видеть ваш загрузчик классов, как трюк «обнаружения ресурсов», связанный с описанием.

...