2015-12-02 5 views
0

При попытке интегрировать простые банки RTC в настраиваемое приложение WebSphere исключение произошло при строке кода ниже.Невозможно реализовать простые баннеры Rational Team Concert (RTC) для создания рабочих элементов через вызовы API REST из приложения сервера WebSphere

this.teamRepository = TeamPlatform.getTeamRepositoryService().getTeamRepository(this.repositoryURI); 

Исключение:

[12/2/15 16:04:19:883 SGT] 000000a4 BusinessExcep E CNTR0020E: EJB 
threw an unexpected (non-declared) exception during invocation of 
method "createTestAutoDefect" on bean 
"BeanId(RTCWebClientEAR#RTCWebClient.war#RTCWorkItemHandler, null)". 
Exception data: java.lang.NoClassDefFoundError: 
com.ibm.team.repository.client.internal.ContributorManager 
(initialization failure) at 
java.lang.J9VMInternals.initialize(J9VMInternals.java:177) at 
com.ibm.team.repository.client.internal.TeamRepository.<init>(TeamRepository.java:427) 
    at 
com.ibm.team.repository.client.internal.TeamRepositoryService.createSharedTeamRepository(TeamRepositoryService.java:526) 
    at 
com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:113) 
    at 
com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:132) 

... 

Caused by: java.lang.IllegalArgumentException: The type name 
Contributor and the namespace URI com.ibm.team.repository do not 
resolve to an IItemType. at 
com.ibm.team.repository.common.internal.querypath.AbstractQueryPathModel$Implementation.getItemType(AbstractQueryPathModel.java:192) 
    at 
com.ibm.team.repository.common.query.IQuery$Factory.newInstance(IQuery.java:93) 
    at 
com.ibm.team.repository.client.internal.ContributorManager.createAllContributorsQuery(ContributorManager.java:72) 
    at 
com.ibm.team.repository.client.internal.ContributorManager.<clinit>(ContributorManager.java:60) 
    at java.lang.J9VMInternals.initializeImpl(Native Method) at 
java.lang.J9VMInternals.initialize(J9VMInternals.java:237) at 
com.ibm.team.repository.client.internal.TeamRepository.<init>(TeamRepository.java:427) 
    at 
com.ibm.team.repository.client.internal.TeamRepositoryService.createSharedTeamRepository(TeamRepositoryService.java:526) 
    at 
com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:113) 
    at 
com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:132) 

кажется классы в равнинных банки RTC не правильно загружены.

Эти банки были помещены в библиотечную папку EAR, в которой размещен веб-проект, который реализует функции RTC.

ответ

2

Решенный вопрос по настройке поведения загрузки класса WebSphere, как показано ниже:

I n Ядро RAD (ядро eclipase), щелкните правой кнопкой мыши на EAR, который содержит веб-проект для клиента RTC. -> Java EE -> Откройте развертывание WebSphere Application Server, перейдите в раздел «Применение» и введите режим Classloader: PARENT_LAST и WAR Политика загрузчик классов: ПРИМЕНЕНИЕ

Найдено это решение с помощью: https://jazz.net/forum/questions/75680/cant-connect-to-jazz-server-in-was-70?page=1&focusedAnswerId=75682#75682

причиной может быть, скорее всего из-за отсутствия конфигурации плагинов в классах Eclipse, в результате класс нагружения поведения.

WebSphere реализован с использованием технологии OSGI, такой как eclipse, поэтому классы платформы eclipse по умолчанию загружаются из WebSphere, а не клиентских библиотек RTC (простые файлы jar RTC), включенных в приложение EAR.

Следовательно, возможным решением было бы обратить вспять политику загрузки классов.

1

Глядя на this thread и this one, это, кажется:

  • проблема при использовании неисполняемой банки файла
  • или, как in here, симптом, не имея все необходимую банка файлов на Путь к классам
+0

Спасибо! Найденное решение в предоставляемых ссылках. Подробности будут представлены в другом сегменте ответа. –