2016-03-15 31 views
6

這是我運行atlas-create-jira-plugin後接atlas-create-jira-plugin-module選擇選項1: Component Import時得到的結果。atlassian-plugin.xml包含組件導入的定義。當設置Atlassian-Plugin-Key時,這是不允許的

問題是,所有的教程示例似乎都有舊的SDK版本生成的插件描述符(根本不會用更新版本的SDK/Jira部署),它不具有Atlassian-Plugin-Key,所以我找不到我的方式來導入組件。

我正在使用SDK 6.2.3和Jira 7.1.1。

任何提示 - 如何解決這個問題?

回答

3

匿名是正確的。舊的做法是將<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版本。

您不必在您的pom.xml中忽略/註釋Atlassian-Plugin-Key,並且您不必將component-import放入您的atlassian-plugin.xml

例如,您想要爲您的加載項添加授權,並且需要導入組件PluginLicenseManager。你只是直奔代碼和你的構造可能是這樣的:

@Autowired 
public MyMacro(@ComponentImport PluginLicenseManager licenseManager) { 
    this.licenseManager = licenseManager; 
} 

而且你的類是這樣的:

@Scanned 
public class MyMacro implements Macro { 

如果沒記錯的話,一定要檢查null因爲有時Atlassian的Spring掃描儀無法注入組件。我認爲在版本1上,編寫一個@EventListener,它不能注入一個ConversionContext。但是在編寫宏時,它能夠注入一個ConversionContext

相關問題