10

这是我在运行atlas-create-jira-plugin然后atlas-create-jira-plugin-module选择 option时得到的1: Component Import

问题是所有教程示例似乎都具有由旧 SDK 版本生成的插件描述符(根本不会与较新版本的 SDK/Jira 一起部署),它们没有 feature Atlassian-Plugin-Key,所以我找不到导入的方法零件。

我正在使用 SDK 6.2.3 和 Jira 7.1.1。

任何提示 - 如何解决这个问题?

4

3 回答 3

8

匿名是正确的。旧的做事方式是把<component-import>标签放在你的atlassian-plugin.xml. 新方法也是推荐使用Atlassian Spring Scanner。当您使用创建附加组件atlas-jira-create-plugin并且您pom.xml拥有<Atlassian-Plugin-Key>标签和依赖项时atlassian-spring-scanner-annotationatlassian-spring-scanner-runtime然后您正在使用新方式。

如果您同时拥有这两个依赖项,则您使用的是 Atlassian Spring Scanner 版本 1.x。如果您只有,atlassian-spring-scanner-annotation那么您使用的是 2.x 版。

您不必在您的中省略/注释掉Atlassian-Plugin-Keypom.xml也不必component-import在您的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.

于 2016-11-06T08:34:19.080 回答
4

在这里找到答案:https ://developer.atlassian.com/docs/advanced-topics/configuration-of-instructions-in-atlassian-plugins

看起来我不知何故遗漏了Atlassian-Plugin-Key可以省略的,当你需要导入组件时必须这样做。

这个键只是告诉 spring 不要“转换”插件的 Spring 配置,这必须作为组件导入过程的一部分发生。

于 2016-03-15T12:55:33.990 回答
4

根据 https://bitbucket.org/atlassian/atlassian-spring-scanner

component-import不需要。@ComponentImport您可以通过Java 中的注释来替换它。

于 2016-06-17T06:56:08.893 回答