Я пытаюсь написать плагин для прослушивания событий для jira. Когда я иду по-старому (который последний Atlassian SDK 6.2.9 делает) и поставить эти 2 линииВесенний сканер, не обнаруживающий компонент
<component key="eventListener" class="jira.plugins.listeners.MyEventListener"/>
<component-import key="eventPublisher" class="com.atlassian.event.api.EventPublisher"/>
и попытаться упаковать плагин я получаю предупреждение о том, что I cannot use component/component-import statement inside plugin descriptor file when Atlassian plugin key is set
. В последнем SDK используется Spring Scanner, который автоматически добавляется в файл pom.xml во время создания скелета, и в этой документации настоятельно рекомендуется. Поэтому я удалить эти две строки из Atlassian-plugin.xml файл и попробуйте заменить их с соответствующими аннотациями:
@Component
public class MyEventListener{
@Inject
public MyEventListener(@ComponentImport EventPublisher eventPublisher){
eventPublisher.register(this);
}
}
я могу собрать и упаковать его таким образом, но когда я установить его на запущенный экземпляр Jira, в описании плагина сказано: This plugin has no modules
. Я пробовал сменить @Component на @Named, addind @ExportAsService на класс, но безрезультатно. Кажется, весенний сканер не обнаруживает мой класс как компонент. Кто-нибудь смог преодолеть эту проблему? Я написал в сообщество atlassian, но до сих пор не получил никаких новостей.
Я тоже недавно столкнулся с этим, но я до сих пор не понял, как получить модуль в списке, но я заметил, что мои '@ EventListener' на самом деле вызываются в любом случае. Вы пытались добавить некоторые записи в свои методы '@ EventListener' и/или конструктор? –
Да, я добавил регистрацию, и я ничего не получил. –