我创建了一个Eclipse RCP“ Hello World” -Plugin,它正在运行并向我显示主窗口,然后我创建了另一个带有logback库的名为“ logging”的插件,并将此logging-plugin作为依赖项添加到main插件。
现在,主插件知道记录器类,并且可以使用它们,但是如何从主插件到达“ logback.xml”文件?该文件存储在日志记录插件的“资源”文件夹中。
-mainplugin <---knows logging classes, but not reaching logback.xml
-logging
|-libs
|-resources
|-logback.xml
最佳答案
logback.xml是用于日志记录的配置文件,您可以在其中配置日志级别等。 ... 对?在这种情况下,它属于mainplugin,而不属于日志记录插件(日志插件仅公开libs文件夹中jar文件的方法)。
像这样:
-mainplugin
|-resources
|-logback.xml
-logging
|-libs
为了正常工作,您必须在插件中设置伙伴策略,并且lockback.xml必须位于类路径(!)中。这是允许日志记录插件在您的插件内部找到lockback.xml而没有直接依赖关系所必需的。
在日志插件的MANIFEST.MF中,您必须添加:
Eclipse-BuddyPolicy: registered
在主插件的MANIFEST.MF中,您必须添加:
Eclipse-RegisterBuddy: org.logplugin.id
其中
org.logplugin.id
是您的日志记录插件的ID。有关更多信息:http://www.eclipsezone.com/articles/eclipse-vms/