2013-09-18 3 views
1

В настоящее время я читаю «Jenkins Continuous Integration Cookbook», за которым я следую инструкциям. После выполнения команды:Сбой сборки: недействительная задача на maven

mvn clean integration-test –Dlog4j.configuration=file./src/test/ 

Я получаю ошибку:

[INFO] Invalid задачи '-Dlog4j.configuration = файл/SRC/тест /.': Вы должны указать правильные фазы жизненного цикла, или цель в плагине формате: цель или pluginGroupId: pluginArtifactId: pluginVersion: цель

Это мой log4j.properties файл, который находится в/SRC/тест/ресурсы:

log4j.rootLogger=INFO, A1 
log4j.appender.A1=org.apache.log4j.ConsoleAppender 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - 
%m%n 

Любая помощь будет оценили.

ответ

3

Ваша копия пасты немного слишком хорошо, и текст книги, которую вы используете плохо отформатирован/закодирован.

Проблема заключается в дефисом, который вы используете, то есть

Это EN_DASH, который не нормальный дефиса

-

Так решение заключается в использовании «нормального» дефиса, -, то есть:

mvn clean integration-test -Dlog4j.configuration=file./src/test/ 

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

+0

Спасибо за помощь, это решило это. В следующий раз я буду намного внимательнее. – user1413969

+0

@ user1413969: добро пожаловать, и не беспокойтесь, что вы пропустили это, эти проблемы трудно определить, если вы ранее не подозревали о них. Например, недавно у меня была «большая забава», отлаживающая проблему, которая оказалась присутствием U + 00A0, т. Е. * Неразрывное пространство *, которое выглядит следующим образом:. –

2

попробуйте передать аргументы первые

mvn –Dlog4j.configuration=file./src/test/ clean integration-test 

из mvn --help

usage: mvn [options] [<goal(s)>] [<phase(s)>] 
+0

Ну, по крайней мере, некоторые версии Maven действительно принимают параметры JVM после цели. Проблема в другом месте, я боюсь. Хотя, конечно, вы правы в общем, что это «правильный» способ. –

+0

в любом случае, вы всегда можете проверить mvn --help для правильного синтаксиса – WeMakeSoftware

+0

Я не говорю, что вы ошибаетесь в этом отношении :). Просто это очевидно, когда используется неправильный символ. Попробуйте сами - скопируйте команду OPs в командную строку. И см. Мой ответ для получения дополнительной информации. –

Смежные вопросы