Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Domino Designer中使用XspLibrary(OSGI插件)_Osgi_Xpages - Fatal编程技术网

在Domino Designer中使用XspLibrary(OSGI插件)

在Domino Designer中使用XspLibrary(OSGI插件),osgi,xpages,Osgi,Xpages,我已经构建了一个osgi插件来包装现有的jar文件。我一直在跟踪 构建插件后,我通过更新站点部署它。我使用一个小部件将插件导入domino设计器 在“文件>应用程序>应用程序管理”中,我可以验证 插件已加载(即,它显示在 /工作区/应用程序/eclipse) 现在,我构建了一个新的nsf,可以在Xsp属性中选择作为Xsp库的插件。然后它开始表现得很奇怪:如果在domino designer中打开Then插件项目,我只能使用插件中导出的所有类 如果关闭插件项目,会出现两个编译错误: “无法解析St

我已经构建了一个osgi插件来包装现有的jar文件。我一直在跟踪

构建插件后,我通过更新站点部署它。我使用一个小部件将插件导入domino设计器

在“文件>应用程序>应用程序管理”中,我可以验证 插件已加载(即,它显示在 /工作区/应用程序/eclipse)

现在,我构建了一个新的nsf,可以在Xsp属性中选择作为Xsp库的插件。然后它开始表现得很奇怪:如果在domino designer中打开Then插件项目,我只能使用插件中导出的所有类

如果关闭插件项目,会出现两个编译错误:

  • “无法解析StringUtils”
  • “无法解析导入org.apache.commons.lang3”
  • 有时我也会遇到以下错误:

    • “由于生成路径不完整,因此未生成项目。找不到….的类文件”
    有人知道为什么会发生这些错误吗?正如我已经提到的:在设计器中打开插件项目可以解决所有错误

    你的
    Detlef

    这两个错误都意味着您需要安装xsplibrary的依赖项,即ApacheCommonsLang3.x。它以OSGi捆绑包的形式提供,因此您可以简单地将其添加到目标平台。

    您需要在安装后将插件“解包”,此时包装好的jar会隐藏在插件jar中。需要将它们解压缩,以便Domino Designer使用它们

    你大概创建了一个功能项目来安装插件?返回功能项目和插件列表,选择插件,然后勾选“安装后解压缩插件存档”旁边的复选框

    在更新站点中,清除以前构建的插件和功能,然后将此新功能重新构建到更新站点中

    在安装新版本的功能之前,最好在designer中卸载旧版本: 文件->应用程序->应用程序管理 然后在左窗格中选择该功能,然后从右窗格中的可用任务中卸载

    然后从新构建的更新站点重新安装(或者像以前一样通过小部件部署)

    安装后,您可以检查插件安装到的文件系统位置:

    <NotesData>/workspace/applications/eclipse/plugins
    
    /workspace/applications/eclipse/plugins
    
    并验证插件是否已被解压到文件夹中,而不仅仅是一个jar


    另外,在包资源管理器中,如果打开使用XspLibrary/插件的XPages应用程序,您应该能够在插件依赖项列表中看到您的插件,插件旁边的图标应该是文件夹而不是“jar”图标

    您是否能够“导入”xsp.properties文件中的插件?我甚至不能这样做。是的,我可以在xsp.properties文件中选择插件。无论插件项目是否打开,都可以将插件添加到xsp属性。有趣的观察。我必须更详细地了解这一点-在写这篇文章时,我没有对插件项目做任何特殊的处理(它在另一个工作集中),所以设计师可能只是在我没有意识到的情况下“帮助”了我…嗨,约翰-如果你在Designer中开发插件项目,并且项目是开放的,它将在您当前的“工作区”中,这是一个eclipse概念。因此,当designer(EclipsePDE)试图解决XPages应用程序的插件依赖关系时,它会在当前的“工作区”中找到它(不管它是否在不同的工作集中),而不是查看已安装的designer插件。这意味着它可以从那里成功地找到commons.lang3 jar。如果您关闭插件项目(在PackageExplorer关闭项目中单击鼠标右键),则应该使用您安装的插件。您好,Cameron,这与我所看到的关于必须为服务器和设计器使用两个不同插件的讨论有关。据我所知,您不希望它在服务器上解包?所以,您是否需要为服务器和设计器提供两个不同的插件/约翰,我不知道为什么不在服务器上解包,你能分享吗?如果你是通过NSF更新站点安装的,我不认为插件会进入文件系统,也许这个解包设置在通过NSF更新站点部署时是不相关的?但是,如果您确实希望为designer和server部署不同的插件,那么您不需要2个插件,相反,您可以创建2个不同的功能,包括两个插件(1个带解包,1个不带更新站点和2个更新站点);它工作起来很有魅力,而且服务器不需要第二个插件。嗨,Cameron。我可能只是误解了。这是一次关于插件开发的讨论(略有不同),但我认为它是在一个纯Eclipse环境中进行的(可能只与一次安装相关)。我不知道确切的细节(内森·弗里曼和其他人讨论过)。我会按照你上面的建议去做,并对文章进行调整(不过目前需要一点时间来实现这一点)。非常感谢您的洞察力/JohnOk,我的文章已经更新了这些有价值的信息。谢谢您的指点;-)-->