Test Bundle не может найти Bundle для тестирования
Я настроил настройку проекта std для проектов Tycho. сборка работает очень хорошо:
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] root .................................. SUCCESS [ 0.152 s]
[INFO] bundles ............................... SUCCESS [ 0.008 s]
[INFO] com.project.pcbcalculator ............. SUCCESS [ 3.649 s]
...(Other artifacts like target, features).... SUCCESS [.........]
[INFO] com.project.pcbcalculator.tests ....... FAILURE [ 4.693 s]
кроме тестирования. Я всегда получаю ошибку во время выполнения (13)
!MESSAGE Missing required bundle **com.project.pcbcalculator_1.0.0**
!ENTRY org.eclipse.osgi 4 0 2018-06-05 18:51:19.816
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: Bundle **com.project.pcbcalculator.tests** is not
found
Анализируя журнал консоли, я пришел к выводу, что тестовый проект не может быть запущен, так как тестируемый узел не загружен.
Вопрос в том, почему и как я могу измениться. Согласно учебным пособиям все должно быть в порядке, и Tycho может скомпилировать основной пакет
2 ответа
Пожалуйста, добавьте org.eclipse.equinox.console в Require-Bundle.
Найдите в журналах команду, которая выполняет ваш тест:
[INFO] Command line:
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java, -Dosgi.noShutdown=false, -Dosgi.os=linux, -Dosgi.ws=gtk, -Dosgi.arch=x86_64, -Dosgi.clean=true, -jar, /home/lupus/.m2/repository/p2/osgi/bundle/org.eclipse.equinox.launcher/1.5.100.v20180827-1352/org.eclipse.equinox.launcher-1.5.100.v20180827- ...
Уберите запятые и добавьте в конец
-noExit -console
Запустите команду. Вы должны получить то же исключение java.lang.RuntimeException
Нажмите еще раз, и вы увидите приглашение "osgi>".
Бежать
osgi>diag com.project.pcbcalculator.tests
,
Вы должны увидеть более подробно, что отсутствует в вашей цели.
Поздний ответ, но это может помочь. Проблема со мной заключалась в том, что maven использовал java 8, но моему проекту требовалась java 11. Вы можете использовать
mvn -v
в терминале, и он сообщит вам версию java, которую использует maven. Я подписался на https://askubuntu.com/questions/740757/switch-between-multiple-java-versions и изменил версию. После изменения не забудьте также выйти из системы, войти в систему и повторить попытку в новом терминале.