这是我运行atlas-create-jira-plugin后跟atlas-create-jira-plugin-module选择选项1:组件导入的结果.
问题是所有教程示例似乎都有旧SDK版本生成的插件描述符(根本不会部署新版本的SDK / Jira),这些版本没有Atlassian-Plugin-Key,所以我找不到我导入组件的方式.
我正在使用SDK 6.2.3和Jira 7.1.1.
匿名是正确的.旧的做事方式是将< component-import>放入atlassian-plugin.xml中的标记.新的方式,也建议使用
Atlassian Spring Scanner.当您使用atlas-jira-create-plugin创建加载项并且您的pom.xml具有< Atlassian-Plugin-Key>标签和依赖项atlassian-spring-scanner-annotation和atlassian-spring-scanner-runtime然后你正在使用新方法.
如果您同时拥有这两个依赖项,那么您使用的是Atlassian Spring Scanner版本1.x.如果您只有atlassian-spring-scanner-annotation,那么您使用的是2.x版.
您不必在pom.xml中省略/注释掉Atlassian-Plugin-Key,也不必将组件导入放在atlassian-plugin.xml中.
例如,您希望为加载项添加许可,并需要导入组件PluginLicenseManager.您只需直接访问代码,您的构造函数可能如下所示:
@Autowired public MyMacro(@ComponentImport PluginLicenseManager licenseManager) { this.licenseManager = licenseManager; }
你的班级是这样的:
@Scanned public class MyMacro implements Macro {
如果内存对我有用,请务必检查null,因为有时Atlassian Spring Scanner无法注入组件.我认为在版本1上编写@EventListener时,它无法注入ConversionContext.但是在编写宏时,它能够注入一个ConversionContext.