Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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
Xpages IBM Domino 9.0.1 FP8赢得';t加载需要JavaSE-1.8的插件_Xpages - Fatal编程技术网

Xpages IBM Domino 9.0.1 FP8赢得';t加载需要JavaSE-1.8的插件

Xpages IBM Domino 9.0.1 FP8赢得';t加载需要JavaSE-1.8的插件,xpages,Xpages,我正在开发一个OSGi插件,用于我们的Domino9.0.1FP8服务器。 由于服务器支持Java 8,并且我有一些Java 8代码,因此我添加了: Bundle-RequiredExecutionEnvironment: JavaSE-1.8 在MANIFEST.MF中 但是,当我尝试加载插件时,它仍然停留在已安装状态: tell http osgi ss com.test.api.plugin Framework is launched. id State Bund

我正在开发一个OSGi插件,用于我们的Domino9.0.1FP8服务器。 由于服务器支持Java 8,并且我有一些Java 8代码,因此我添加了:

Bundle-RequiredExecutionEnvironment: JavaSE-1.8
MANIFEST.MF

但是,当我尝试加载插件时,它仍然停留在
已安装
状态:

tell http osgi ss com.test.api.plugin
Framework is launched.
id       State       Bundle
19       INSTALLED   com.test.api.plugin_0.1.0.201706241509
运行诊断显示执行环境不可用:

tell http osgi diag com.test.api.plugin
initial@osginsf:apps.nsf/0D3C92BFD9106A9DC125814900535ABD/com.test.api.plugin_0.1.0.201706241509.jar [19]
Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.8
为了确定,我仔细检查了Java版本:

show jvm
JVM: Java Virtual Machine initialized.
Java runtime version: pwa6480sr3fp22-20161213_02 (SR3 FP22)
JVM version: JRE 1.8.0 Windows 8 amd64-64 Compressed References 20161209_329148 (JIT enabled, AOT enabled) J9VM - R28_20161209_1345_B329148 JIT  - tr.r14.java.green_20161207_128946 GC   - R28_20161209_1345_B329148_CMPRSS J9CL - 20161209_329148
所以,一切似乎都井然有序,但插件无法加载

如果我将所需的执行环境更改为JavaSE-1.6,或者从
MANIFEST.MF
中删除该行,插件将加载并正常工作

我的临时解决方案是从
MANIFEST.MF
中完全删除该行,因为如果我将执行环境更改为JavaSE-1.6,Java 8代码将无法编译

所以我有一个有效的解决方案,但我想知道问题是什么,是否有更好的方法来解决它

我注意到的另一件事是:我通常使用Maven构建插件,但是如果我尝试使用
export>Deployable plug-ins and fragments
从Eclipse导出插件,我会得到以下错误:

Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Host plug-in JavaSE_0.0.0 has not been found.
切换到JavaSE-1.6甚至在这里也会有所帮助,插件可以正确导出

这可能是OSGi版本问题而不是Java问题吗


我似乎记得FP9中应该有一个OSGi更新。这有可能解决吗?

据我所知,原因确实是您在最后提到的:这是OSGi堆栈。尽管底层运行时是Java8,但IBM根本没有更新OSGi堆栈(我想,除了需要的任何东西),这包括它不知道它在Java8运行时。假设FP9真的随OSGi更新而来,那么应该会清理它


与此同时,我一直在做与您相同的事情:从清单中删除该行,然后只处理警告(出于习惯,我一直使用Maven构建来生成更新站点,因此没有遇到第二个错误)。

相同的老故事和部分更新,然后:-)不过问题不大。我可以接受MANIFEST.MF中的警告。希望它能在FP9中得到解决。和Jesse一样,我删除了Bundle执行环境,并始终使用更新站点。我认为Java8只是FP8的一部分,OSGi和Notes是FP9。社区中的插件开发人员倾向于将其拆分,因此我们获得了Java8,以便尽快在插件中编译。这不是一个自交货以来我就后悔的决定。