【问题标题】:Exception in thread "main" java.lang.UnsatisfiedLinkError: firstdata.icvtnsclient.SslTcpClient.__ctorSslTcpClient0(Lnet/sf/jni4net/inj/IClrProxy;)V线程“主”java.lang.UnsatisfiedLinkError 中的异常:firstdata.icvtnsclient.SslTcpClient.__ctorSslTcpClient0(Lnet/sf/jni4net/inj/IClrProxy;)V
【发布时间】:2015-03-03 15:09:17
【问题描述】:

我从第三方 dll 文件制作了 jni4net jar 和 dll 文件。我收到标题部分中提到的错误。我的第一个问题是我可以像使用常规 jar 文件一样直接使用 jni4net jar 文件吗?我得到的错误是当我尝试通过如下创建新文件来创建实例时:

  SslTcpClient sslTcpClient = new SslTcpClient();

非常感谢您的帮助。

【问题讨论】:

  • 你必须告诉 Java 在哪里可以找到你的本地库。你确定你做了必要的配置吗?
  • 我不完全确定如何进行此配置。我将文件添加到我的项目中的本机库中,然后我得到了一个找不到文件的执行。然后将文件移动到根文件夹,我收到上述错误。作为第二个问题,尽管我现在有一个 jni4net jar 文件,但你知道为什么我仍然是 dll 文件吗?

标签: java jni4net


【解决方案1】:

发现问题。忽略您的旧项目。创建一个新项目并将所有 .dll 和 jar 文件放在源文件夹之前的根文件夹中。右键单击 jar 并将它们添加到您的构建路径。这包括 jni4net,j.*.jar 以及您的 *.J4N jar。就我而言,虽然我后来更正了它的路径,但由于某种原因它留在了记忆中。因此,您必须创建一个新项目并遵循提到的大纲。

【讨论】:

    【解决方案2】:

    .Net framework 版本可能是问题。

    这对我有帮助;

    • 首先,备份您的 jni4net 文件夹(您之前已下载为二进制分发版)
    • github获取最新版本的jni4net
    • 然后尝试按照same 链接上的说明从源代码构建。如果有任何问题,请不要介意。
    • 打开 Visual Studio 并将 jni4net 项目的所有框架版本更改为您正在使用的框架版本
    • 现在从 Visual Studio 构建它。如果有任何问题,请不要介意。
    • 从各自的项目文件夹中取出所有已编译的 dll/jar,并将其放入您之前作为二进制分发下载的 jni4net lib 文件夹中。
    • 将proxygen可执行文件放到jni4net bin文件夹中
    • 现在尝试构建您的 *.J4N.jar 和 *.J4N.dll(先运行 proxygen 然后执行 build.cmd)

    现在您有了*.J4N.jar 和*.J4N.dll,您必须将它与您在第一步完成的备份版本的jni4net 一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-30
      • 2016-11-06
      相关资源
      最近更新 更多