Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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
Lotus Domino Java脚本库编译错误_Java_Lotus Domino_Lotus - Fatal编程技术网

Lotus Domino Java脚本库编译错误

Lotus Domino Java脚本库编译错误,java,lotus-domino,lotus,Java,Lotus Domino,Lotus,我遇到一个问题,当我试图在服务器上的数据库中保存/编译Java脚本库时,在Problems视图中出现以下错误。我正在使用DDE 8.5.3(注意,我已经更改了应用程序和库名称): 项目“app_name.nsf.java lib name.javalib”缺少必需的库:“C:\lotus\notes8\jvm\lib\axis\axis.jar” 值得注意的是,我使用的是基于Eclipse的Java编辑器,如果我使用传统的编辑器,这个问题就不会发生 我的脚本库有许多相关的JAR文件,但是没有一个

我遇到一个问题,当我试图在服务器上的数据库中保存/编译Java脚本库时,在Problems视图中出现以下错误。我正在使用DDE 8.5.3(注意,我已经更改了应用程序和库名称):

项目“app_name.nsf.java lib name.javalib”缺少必需的库:“C:\lotus\notes8\jvm\lib\axis\axis.jar”

值得注意的是,我使用的是基于Eclipse的Java编辑器,如果我使用传统的编辑器,这个问题就不会发生

我的脚本库有许多相关的JAR文件,但是没有一个是通过路径包含的,这似乎是导致问题的原因。此外,它不可能是某种深层次隐藏的依赖关系,因为所有包含的jar都是定制的,并且没有一个是用户或需要Axis的

我还做了一个测试,在没有拉入任何外部jar的情况下创建了一个新的库,并且发生了相同的错误

原来问题是由于在我的本地notes.ini中使用了“JavaUserClassesExt”引起的。我最近使用了一个依赖于Axis的LN客户端应用程序,安装过程的一部分包括将相关Axis文件放到jvm/lib/ext中的自定义目录中,然后在启动jvm时使用“JavaUserClassesExt”更新ini以包含这些文件

我想这个问题现在才出现,因为我最近不得不将LN安装的位置从上述路径(lotus\notes8)更改为稍有不同的路径(lotus\notes853)。我从原始安装位置复制了ini,这就是它仍然引用旧路径的原因。一旦我删除了对错误路径的引用,错误就消失了

所以我可以理解发生了什么,JVM试图在类路径上加载所有必需的文件,但是遇到了问题,因为通过“JavaUserClassesExt”请求的文件再也找不到了

我不明白的是,当我试图在一个与Axis框架无关的完全不同的数据库中编辑脚本库时,它为什么会抛出这个错误。如果基于Axis位于本地类路径上而试图导入与Axis相关的内容,我会预期会出现编译错误,但在库与Axis无关时抛出此错误对我来说似乎是混乱和不正确的

正如我提到的,这只发生在使用基于Eclipse的Java编辑器时,所以我认为这是该版本编辑器的一个bug

有人遇到过类似的事情吗?这是否属于预期行为,或者是否有人能确认这是一个bug

我意识到这是一个相当边缘的问题,但我对任何见解都感兴趣

干杯,
Lee

显而易见的问题是,您是否有C:\lotus\notes8\jvm\lib\axis\axis.jar“libs?”jvm\lib\axis'不是Notes安装的一部分,因此必须有人添加了它们。此外,如果文件不在jvm\lib\ext文件夹.Simon中,还需要考虑安全限制-正如我在问题中提到的,文件放在那里,我的ini由我最近使用的LN客户端应用程序更新。然而,问题是,如果特定ini设置中列出的某些文件不可用,那么完全独立的数据库中完全不相关的java代理为什么会开始抛出编译错误。尤其是在基于Eclipse的编辑器中进行编辑时。是什么将文件放在那里的?你可能应该和开发人员谈谈。默认情况下,lib\axis文件夹没有在客户端中运行代码的权限。这需要更改java.policy文件,最好的人选是编写应用程序的人。Simon,谢谢你的评论。但是我认为你没有抓住问题的关键。无论axis文件是如何到达那里的,ini是如何更新的,基于ini设置的无关数据库中出现错误的事实在Eclipse版本的Java编辑器中似乎是一个bug。您/任何其他人是否可以确认这一点,或者如果没有,请解释问题发生的方式/原因。另外,请注意,lib\axis文件夹中的代码运行正常,没有任何策略更新。