Java 在插件开发中使用openNTF Domino API作为依赖项

Java 在插件开发中使用openNTF Domino API作为依赖项,java,osgi,xpages,xpages-extlib,Java,Osgi,Xpages,Xpages Extlib,我已经使用openNTF Domino API(ODA)有一段时间了,我对它非常满意。事实上,我很高兴我想将它与我自己的OSGi插件一起作为依赖项使用,但我在这方面遇到了麻烦 下面是正在发生的事情 当我刚刚启动插件,不使用ODA的任何东西时,一切都很好。我可以根据需要在Notes Designer中选择我的新库,我可以使用我的类,一切看起来都很好 我要做的第二件事是进入/META-INF/MANIFEST.MF,并将org.openntf.domino标记为依赖项。据我所见,这是正确的插件,因为

我已经使用openNTF Domino API(ODA)有一段时间了,我对它非常满意。事实上,我很高兴我想将它与我自己的OSGi插件一起作为依赖项使用,但我在这方面遇到了麻烦

下面是正在发生的事情

  • 当我刚刚启动插件,不使用ODA的任何东西时,一切都很好。我可以根据需要在Notes Designer中选择我的新库,我可以使用我的类,一切看起来都很好
  • 我要做的第二件事是进入/META-INF/MANIFEST.MF,并将org.openntf.domino标记为依赖项。据我所见,这是正确的插件,因为它包含我想要使用的ODA文档、视图、会话等类。如果我应该使用不同的插件,请告诉我
  • 我进入了扩展com.ibm.xsp.library.AbstractXspLibrary的类,我对library.getDependencies()有点困惑。我真的不确定在这里包括什么来表明我对官方发展援助的依赖。我尝试了几个不同的字符串,但最后,我甚至不确定是否需要在这里将其标记为依赖项
  • 我试过:

    "org.openntf.domino"
    "org.openntf.domino.xsp"
    "org.openntf.domino.xsp.XspLibrary"
    
    我想我试过其他一些方法,但记不清是什么

    主要问题是,我不能再在Notes Designer中选择插件库,也不能使用它(显然)。所以我的问题是,如何正确地将依赖项添加到单独安装的其他插件?我不仅会使用ODA,还会使用ExtLibs

    我非常感谢你的帮助

    我知道“org.openntf.domino.xsp”依赖于“org.openntf.domino.plugin”,就像我认为您希望您的库依赖于ODA一样。它还依赖于扩展库。鉴于此,我的建议是尝试:

  • 在plugin.xml的Dependencies选项卡上,添加“org.openntf.domino.xsp”。这告诉它查找服务器上已经存在的插件,否则不要运行,在这种情况下,我认为
    告诉http osgi diag com.myplugin
    会抛出错误。org.openntf.domino.xsp已经依赖于org.openntf.domino.plugin,因此这是唯一需要作为依赖项的插件
  • 我认为您不需要勾选“重新导出此依赖项”。如果你不想在服务器上安装ODA插件,我想你会这么做的。另外,我认为您不需要在“运行时”选项卡上添加任何导出的包
  • 在getDependencies()中,添加“org.openntf.domino.xsp.XspLibrary”。这将在加载XspLibrary时加载XspLibrary类

  • 只要我不将插件作为依赖项包含,这就可以工作。我唯一可以添加的是org.openntf.domino.xsp,这似乎也足够了。谢谢!对不起,我的意思是“org.openntf.domino.plugin”不应该包含在内,这样它才能工作。(除非我做了别的蠢事)是的,这是有道理的。org.openntf.domino.xsp插件已经将org.openntf.domino.plugin作为依赖项。因此,您只需要在Deoendencies选项卡上包含org.openntf.domino.xsp。我已经相应地更新了我的答案。