- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我开始开发一个 jira 插件,但我遇到了错误。
我无法修复的最新问题是
[INFO] [talledLocalContainer] QuickReload - 插件安装程序错误 [c.a.p.osgi.factory.OsgiPlugin] 插件 'xy' 从未使用过滤器 '(&(objectClass=xy.classname)(objectClass= xy.类名))'
这里出了什么问题?
最佳答案
当您尝试在插件的一个对象上注入(inject)插件的另一个对象时,就会发生这种情况,就像另一个对象属于另一个不同的插件并作为公共(public) OSGi 服务导出一样。
在 JIRA 中,您可以将插件 Java 类声明为组件。这意味着实例化和依赖注入(inject)(例如通过构造函数)将自动委托(delegate)给作为 JIRA 一部分的 Spring 框架。通常我们这样做是为了不关心实例化和类依赖性。有两种类型的组件,公共(public)组件和私有(private)组件。公共(public)组件将可用于导入与您不同的插件。其他插件可以导入它们,然后通过依赖注入(inject)来使用它们。私有(private)组件将与公共(public)组件一样工作,但其他插件将无法导入或查看它们。
如果您只有一个组件,请说 A
,这取决于另一个组件,B
, 它们都是你插件的一部分,你不应该导入组件 B
可用于 A
因为它已经是您插件的一部分。在 JIRA 7 之前用于导入您放置在 atlassian-plugin.xml
上的组件一个<component-import>
元素。 JIRA 7 起,你把 @ComponentImport
当您通过构造函数进行依赖注入(inject)时,在构造函数参数之前。
所以我认为你做错的是把<component-import>
在直接来自您的插件而不是 <component>
的组件上.或者,如果你有 JIRA 7 或更高版本,你做错的是把 @ComponentImport
在您自己的插件和解决方案的组件之前,将删除该注释。至少这最后一个是我的情况,并且从组件的依赖注入(inject)中删除了注释,这些组件来 self 让它工作的同一个插件。
关于java - OsgiPlugin - 插件从未解决服务错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38874204/
背景 我最近在 merge 期间遇到了一个意外未 merge 的文档文件的问题。 无论出于何种原因,我搞砸了 merge 并有效地删除了文件(和其他几个文件),因为我忘记了它们的存在。 现在我想查看我
我在我的网站上使用旧的 mysql 版本和 php 版本 4。 我的表结构: | orders_status_history_id | orders_id | orders_status_id |
我是一名优秀的程序员,十分优秀!