Ошибка при создании пользовательского API Opendaylight с использованием архетипа Maven.

Я пытаюсь создать собственный API на основе руководства по API на https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Startup_Project_Archetype

Что я сделал, так это внес несколько изменений в следующие 4 файла:

  1. HelloProvider.java
  2. привет Ян
  3. HelloWorldImpl.java
  4. impl-blueprint.xml

Я могу скомпилировать папку в impl, но это не удается, когда я возвращаюсь в каталог верхнего уровня и собираю весь «hello». Вот сообщение об ошибке:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project hello-features: There are test failures.

И следую инструкции:

[ERROR] Please refer to /home/oscarzhang/.m2/hello/features/target/surefire-reports for the individual test results.

но я действительно не знаю, что говорится в отчете. Там слишком много информации.

Я просто знаю, выполняю ли я это:

mvn clean install –DskipTests

это может работать, тем не менее, все равно будут некоторые недостатки, которые новичок не может понять. Хотя я поставил этот способ на 2-е место, вы очень любезны сообщить мне о конкретных недостатках, чтобы прояснить ситуацию.

Я действительно хочу знать, в чем причина ошибки. Я даже сомневаюсь, что тип снимка, который я выбираю, когда использую maven для создания архетипа запуска, может иметь значение.

Спасибо за вашу помощь.


person Oscar Zhang    schedule 04.05.2017    source источник
comment
Кажется, что mvn clean install –DskipTests не работает. Я получил эту ошибку: Неизвестная фаза жизненного цикла installPlease. Вы должны указать допустимую фазу жизненного цикла или цель в формате ‹префикс-плагина›:‹цель› или ‹идентификатор-группы-плагина›:‹идентификатор-артефакта-плагина›[:‹версия-плагина›]:‹цель› .   -  person Oscar Zhang    schedule 04.05.2017


Ответы (2)


добавьте эти плагины в файл pom и попробуйте

<plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.19.1</version>
    </plugin>
</plugins>
person Anshul Sharma    schedule 04.05.2017

Это не имеет ничего общего с opendaylight или maven-архетипами. Вам просто нужно понять, как работает surefire и какую информацию он выдает. Вам придется фактически прочитать файлы в папке, на которую он ссылается, и определить, какой тест не прошел. В качестве альтернативы я бы предположил, что некоторая информация о том, какой тест не прошел, будет в стандартном выводе вашей сборки.

person David M. Karr    schedule 04.05.2017