java.lang.UnsatisfiedLinkError:C:\Program Files (x86)\IBM\Lotus\Notes\nlsxbe.dll:无法在 AMD 64 位平台上加载 IA 32 位 .dll

2023-12-13

我正在尝试从使用 eclipse(indigo、jdk1.7)的 java Web 应用程序连接 Lotus Notes Domino(8.5.1)对象。这就是我所做的: 1.将notes.jar添加到eclipse中Java Build Path的Libraries中, 2. 将“C:\Program Files (x86)\IBM\Lotus\Notes”的路径变量添加到本地计算机的环境变量路径中。 然后我在 eclipse 中创建了这个简单的 java 代码,如下所示:

 import lotus.domino.*;
 public class platform3
{
     public static void main(String argv[])
    {
       try
         {
        NotesThread.sinitThread();
        Session s = NotesFactory.createSession();
        String p = s.getPlatform();
        System.out.println("Platform = " + p);
        }
       catch(Exception e)
       {
        e.printStackTrace();
       }
         finally
       {
      NotesThread.stermThread();
      }
   }
  }

上面的代码编译没有任何问题,但是当我运行它时,出现以下错误: 线程“main”中出现异常 java.lang.UnsatisfiedLinkError:C:\Program Files (x86)\IBM\Lotus\Notes\nlsxbe.dll:无法在 AMD 64 位平台上加载 IA 32 位 .dll 我在网上搜索了一下,似乎Lotus Domino 8.5.1是32位的,而我的java项目(jdk1.7)是64位的,所以它们不兼容。但我无法将我的 java (eclipse) 更改为 32 位,因为我需要它来开发 64 位 Web 项目。 有谁知道如何在不将我的java从64位更改为32位的情况下使其工作?


正如 @maksimov 在评论中指出的,64 位 JVM 无法加载 32 位 Notes DLL。然而,DLL 有 64 位版本,但您必须在您的计算机上以及将运行 Web 应用程序的任何计算机上安装和配置 Lotus Domino Server(64 位 Windows 版本)。每台机器只需运行一次 Domino 服务器即可对其进行完全配置。为了让您的代码访问 DLL,它不必一直运行,但您必须保留它的安装状态。但是,在以这种方式安装 Domino 服务器代码之前,您必须与管理您的 IBM 关系的任何人(可能还有 IBM)进行核实,以确定是否存在任何许可和成本影响。 (进一步说明:为了将 64 位 Domino 服务器代码干净地安装在计算机上,并确保该特定版本的 nlsxbe.dll 是您的代码加载的版本,如果您卸载并完全清理该版本,效果会更好。现有的 32 位 Notes 客户端安装。通过清理,我将删除 Lotus.ini 文件以及卸载后可能留下的所有 Notes.ini 文件和与 Notes 相关的注册表项。)

还有另一种选择。您的代码正在使用notes.jar 中的Notes Java API 的“本地”版本。还有一个 CORBA/IIOP 版本的 API,它不使用任何 Notes 或 Dominbo DLL。事实上,它不需要安装任何 Lotus 代码,也没有许可问题。为此,您所需要的只是将 NCSO.jar 的副本添加到您的项目中。您确实需要注意,NCSO.jar 版本的 API 的功能与本地版本略有不同,设置会话的代码也略有不同,身份验证不依赖于 Notes ID 文件,并且 Domino 服务器您连接的服务器必须正在运行 IIOP 任务 - 默认情况下不会出现这种情况,因此您可能必须与管理这些服务器的人员进行协商。

注意 - 删除了建议使用 OpenNTF API 作为替代方案的更新。那是暂时的混乱。这没有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.UnsatisfiedLinkError:C:\Program Files (x86)\IBM\Lotus\Notes\nlsxbe.dll:无法在 AMD 64 位平台上加载 IA 32 位 .dll 的相关文章

  • 类型已知,但方法指的是缺失类型

    我对 java 和 Eclipse 不太有经验 但遇到以下问题 我正在写类似的东西 Point3D myPoint myClass myMethod arg 我收到错误 方法 myMethod myType arg 引用缺失的类型 Poin
  • 是否可以使用 Java 读写 Parquet,而不依赖 Hadoop 和 HDFS?

    我一直在寻找这个问题的解决方案 在我看来 如果不引入对 HDFS 和 Hadoop 的依赖 就无法在 Java 程序中嵌入读写 Parquet 格式 它是否正确 我想在 Hadoop 集群之外的客户端计算机上进行读写 我开始对 Apache
  • JAXB 继承冲突 - 重新注释子类

    目前我的项目中有这样的环境 public abstract class Foo private List
  • Apache Thrift Java-Javascript 通信

    我正在编写一个基于 Apache Thrift 的 Java 服务器 它将从 Javascript 客户端接收数据 我已经完成了 Java 服务器 但问题是我可以获得 Javascript 客户端的工作示例 我无法找到一个好的示例 构建文档
  • 升级eclipse后Groovy失败

    最近升级到 Eclipse 2020 12 4 18 0 从那以后 Groovy 就不再工作了 升级了 Groovy 没有任何改进 现在正在运行 展开所有 已安装的内容 树 Eclipse Groovy 开发工具 org codehaus
  • java项目中无法加载类“org.slf4j.impl.StaticLoggerBinder”错误? [复制]

    这个问题在这里已经有答案了 我越来越Failed to load class org slf4j impl StaticLoggerBinder 错误 我想将记录器写入文件 所以我使用了 log4j jar 并使用 apache tomca
  • 使用 Jena 查询维基数据

    目前 Wikidata 有一个 SPARQL 端点 https query wikidata org https query wikidata org 我想使用 Jena 3 0 1 查询此网站 我使用以下代码 但收到错误消息 端点返回的
  • 绘制平滑曲线

    我想创建更平滑的曲线 而不仅仅是线角 这是我现在画的图 这是我的代码 case FREEHAND float pts float ptk ptk new float 2 imageMatrix invert inv if mCurrentS
  • 如何在 Eclipse 中获得完全限定的类名?

    有没有一种快速方法可以在 Eclipse 中单击 Java 类并获取其完全限定名称 或将其复制到剪贴板 2016年6月29日编辑 正如 Jeff 所指出的 您只需要执行以下第二步 1 Double click on the class na
  • 是否可以手动检查 LocateRegistry 是否存在?

    I 已经发现 https stackoverflow com a 8338852 897090一种安全的方式获得LocateRegistry 即使注册表尚不存在 Registry registry null try registry Loc
  • 在Java中如何将字节数组转换为十六进制?

    我有一个字节数组 我希望该数组的每个字节字符串转换为其相应的十六进制值 Java中有没有将字节数组转换为十六进制的函数 byte bytes 1 0 1 2 3 StringBuilder sb new StringBuilder for
  • 接口是否像对象一样对待?

    为什么下面的代码可以工作 interface I class A implements I public String toString return in a class B extends A public String toStrin
  • Java 8 方法签名不一致

    Java 8 为我们提供了具有很长签名的新方法 如下所示 static
  • 从字节数组设置 img src

    我需要设置img src我在对象中拥有的字节数组的属性 img
  • Hibernate 标准接受 %% 值

    我正在使用下面的 Hibernate 代码来过滤workFlowName crt add Restrictions like workFlowName workFlow MatchMode ANYWHERE crt is the crite
  • 开发者环境-如何调用/消费其他微服务

    背景 我的环境 Java Play2 MySql 我在 Play2 gt S1 S2 S3 上编写了 3 个无状态 Restful 微服务 S1 消耗来自 S2 和 S3 的数据 因此 当用户点击 S1 时 该服务会异步调用 S2 S3 合
  • 在java中执行匿名pl/sql块并获取结果集

    我想执行匿名 PL SQL 并需要获取结果集对象 我得到了可以通过在 PL SQL 块内使用游标来完成的代码 但 PL SQL 块本身将以文本形式来自数据库 所以我无法编辑该 PL SQL 块 并且它只会返回两个值 其列名始终相同 它将返回
  • Java 中序列化的目的是什么?

    我读过很多关于序列化的文章 以及它如何如此美好和伟大 但没有一个论点足够令人信服 我想知道是否有人能真正告诉我通过序列化一个类我们真正可以实现什么 让我们先定义序列化 然后我们才能讨论它为什么如此有用 序列化只是将现有对象转换为字节数组 该
  • Android ClassNotFoundException:在路径上找不到类

    10 22 15 29 40 897 E AndroidRuntime 2561 FATAL EXCEPTION main 10 22 15 29 40 897 E AndroidRuntime 2561 java lang Runtime
  • 如何使用socket.io发送图像文件(二进制数据)?

    我无法从以下位置发送数据Android Client to NodeJS Server I use Socket IO 客户端 https github com socketio socket io client java我的客户端中的ja

随机推荐