2016-12-03 2 views
0

Когда я бегу в Eclipse, Maven и TestNG работают хорошо и пройти, но когда я бегу в Jenkins, появляется следующее сообщение об ошибке:Jenkins + Maven + TestNG = MojoFailureException

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

Это мой pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 
       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
 
        http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
 

 
    <modelVersion>4.0.0</modelVersion> 
 
    <groupId>com.techbeamers</groupId> 
 
    <artifactId>loadtesting</artifactId> 
 
    <version>0.0.1-SNAPSHOT</version> 
 
    <name>Load Testing</name> 
 
    <description>Selenium Load Testing Example using TestNG and Maven</description> 
 
    <properties> 
 
     <selenium.version>2.53.1</selenium.version> 
 
     <testng.version>6.9.10</testng.version> 
 
    </properties> 
 
    <build> 
 
     <plugins> 
 
      <!-- Below plug-in is used to execute tests --> 
 
      <plugin> 
 
       <groupId>org.apache.maven.plugins</groupId> 
 
       <artifactId>maven-surefire-plugin</artifactId> 
 
       <version>2.18.1</version> 
 
       <configuration> 
 
        <suiteXmlFiles> 
 
         <!-- TestNG suite XML files --> 
 
         <suiteXmlFile>testng.xml</suiteXmlFile> 
 
        </suiteXmlFiles> 
 
       </configuration> 
 
      </plugin> 
 
     </plugins> 
 
    </build> 
 
    <!-- Include the following dependencies --> 
 
    <dependencies> 
 
     <dependency> 
 
      <groupId>org.seleniumhq.selenium</groupId> 
 
      <artifactId>selenium-java</artifactId> 
 
      <version>${selenium.version}</version> 
 
     </dependency> 
 
     <dependency> 
 
      <groupId>org.testng</groupId> 
 
      <artifactId>testng</artifactId> 
 
      <version>6.8</version> 
 
      <scope>test</scope> 
 
     </dependency> 
 
     <dependency> 
 
      <groupId>org.apache.maven.plugins</groupId> 
 
      <artifactId>maven-compiler-plugin</artifactId> 
 
      <version>3.6.0</version> 
 
      <type>maven-plugin</type> 
 
     </dependency> 
 
    </dependencies> 
 
</project>

Пожалуйста, помогите - я не знаю, что случилось с моим plugin или dependencies.

+0

также здесь Дженкинс вывод на консоль: [ERROR] Чтобы увидеть полную ошибку стека ошибок, повторно запустите Maven с ключом -e. [ERROR] Перезапустите Maven, используя переключатель -X, чтобы включить полное ведение журнала отладки. [ОШИБКА] [ОШИБКА] Дополнительную информацию об ошибках и возможных решениях см. В следующих статьях: [ОШИБКА] [Помощь 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException Шаг сборки «Вызовите отмеченные сборки верхнего уровня Maven» как сбой Закончено: FAILURE –

+0

и это выход maven: TESTS ----------------------- -------------------------------- Запуск TestSuite Пробные тесты: 1, Ошибки: 0, Ошибки: 0, Пропущенные : 0, Истекшее время: 12,414 с - в TestSuite Результаты: Испытания: 1, Ошибки: 0, Ошибки: 0, Пропущенные: 0 [INFO] ---------------------------------------------- -------------------------- [INFO] BUILD SUCCESS –

+0

Почему у вас есть maven-plugin (maven-compiler-plugin) как зависимость? Это просто неправильно ... Кроме того, было бы полезно, если бы вы могли пропустить весь вывод ошибки, потому что на Jenkins есть гораздо больше, и внимательно прочитайте вывод ... – khmarbaise

ответ

0

Первая возможная проблема, которую я вижу: вы определяете свойство: testng.version, установите значение: 6.9.10, но игнорировать testng.version свойство позже в вашем pom.xml и установите <version> из TestNG в: 6.8.

Попробуйте изменить определение вашего TestNG<dependency> от того, что вы curently есть:

<dependency> 
    <groupId>org.testng</groupId> 
    <artifactId>testng</artifactId> 
    <version>6.8</version> 
    <scope>test</scope> 
</dependency> 

Так что определение определяется следующим образом:

<dependency> 
    <groupId>org.testng</groupId> 
    <artifactId>testng</artifactId> 
    <version>${testng.version}</version> 
    <scope>test</scope> 
</dependency> 
Смежные вопросы