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