Size: a a a

AUG for Developers

2019 October 31

A

Alexey in AUG for Developers
У тебя в манифесте должен импорт пакетов сам добавиться
источник

A

Alexey in AUG for Developers
Со спринг сканнером
источник

A

Alexey in AUG for Developers
Без него при установке джира сама должна просканировать на импорты пакетов
источник

ЕР

Евгений Русских in AUG for Developers
Free0N
А конкретно ComponentAccessor лучше не юзать совсем
А что вместо него?
источник

F

Free0N in AUG for Developers
Ничего. Юзать ioc (@Autowired/@Inject)
источник

ЕР

Евгений Русских in AUG for Developers
Мне нужно по is issue получать объект Issue. Я хочу через компонент аксессор получать issue manager
источник

ЕР

Евгений Русских in AUG for Developers
Free0N
Ничего. Юзать ioc (@Autowired/@Inject)
Да я чот пытался, не получилось.
источник

AC

Anton Chemlev in AUG for Developers
1) После того как создал скелет плагина, ты идешь сюда https://bitbucket.org/atlassian/atlassian-spring-scanner/src/master/ и выполняешь пункты Changes required if you're upgrading from atlassian-spring-scanner 1.x to 2.0+ (в целом можно и без этого, но это типа самый свежий и верный подход) 2) В твоем классе ты делаешь поле private final IssueManager issueManager 3) Аннотируешь поле @ComponentImport 4) добавляешь в конструктор класса тот же IssueManager (как вариант аннотировать можно тут вместо поля) и инициализируешь ранее созданное поле параметром из конструктора 5) конструктор аннотируешь @Inject 6) Если твой класс это бин, то аннотируешь его как @Named . Можно сделать и иначе, как коллеги выше писали. Я предпочитаю так.
источник

ЕР

Евгений Русских in AUG for Developers
Anton Chemlev
1) После того как создал скелет плагина, ты идешь сюда https://bitbucket.org/atlassian/atlassian-spring-scanner/src/master/ и выполняешь пункты Changes required if you're upgrading from atlassian-spring-scanner 1.x to 2.0+ (в целом можно и без этого, но это типа самый свежий и верный подход) 2) В твоем классе ты делаешь поле private final IssueManager issueManager 3) Аннотируешь поле @ComponentImport 4) добавляешь в конструктор класса тот же IssueManager (как вариант аннотировать можно тут вместо поля) и инициализируешь ранее созданное поле параметром из конструктора 5) конструктор аннотируешь @Inject 6) Если твой класс это бин, то аннотируешь его как @Named . Можно сделать и иначе, как коллеги выше писали. Я предпочитаю так.
Лан пасиб, попробую завтра и так и сяк
источник

ЕР

Евгений Русских in AUG for Developers
Самое главное что я не хочу параметры конструктора менять. Надо оставить набор тот же
источник

AC

Anton Chemlev in AUG for Developers
насколько понимаю, тогда надо не использовать Spring Scanner, а прописывать прям отдельно конфигурацию спринга и использовать field injection (@Autowired над полем). Вот тут чувак подобное описывает - https://community.atlassian.com/t5/Jira-questions/How-to-inject-quot-Spring-power-quot-JIRA-components-using-a/qaq-p/655881
источник

AC

Anton Chemlev in AUG for Developers
но помнится field injection типа это бэд стайл
источник

A

Alexey in AUG for Developers
именно componentaccessor не надо инжектить
источник

A

Alexey in AUG for Developers
там костылестроение у него
источник

ЕР

Евгений Русских in AUG for Developers
Alexey
именно componentaccessor не надо инжектить
Достаточно импорта в манифест типа?
источник

A

Alexey in AUG for Developers
если ошибка noclassdef - да
источник

R

Ranorex in AUG for Developers
Евгений Русских
Ладно, вернусь к своим нубским вопросам. Кто-нибудь использует в своих плагинах componentAccessor?
Где и что мне нужно импортировать, чтобы не было noClassDefFoundError?
В поиск
источник

ЕР

Евгений Русских in AUG for Developers
Ranorex
В поиск
В гугол?
источник

ЕР

Евгений Русских in AUG for Developers
Может ты не поверишь, но я правда пытался)
источник

R

Ranorex in AUG for Developers
В этот чат
источник