【问题标题】:How to Load .net (VB) dll and use method in It in java如何在 Java 中加载 .net (VB) dll 并在其中使用方法
【发布时间】:2014-09-25 13:50:30
【问题描述】:

我有一个 .net dll,它有一些我需要从 java 程序调用的函数。 这是我使用的代码,它给了我这个错误。“线程“主”java.lang.UnsatisfiedLinkError 中的异常:”但 dll 加载正常。 s

static {
        try {

            System.load("mydotnet.dll");
            System.out.println("loaded");

        } catch (UnsatisfiedLinkError e) {
            System.err.println(e);

        }
    }

    private static native boolean SC_Start();

【问题讨论】:

  • “dll 加载正常”是什么意思?
  • dll 加载良好,但访问 dll 中的函数给出此错误:线程“main”java.lang.UnsatisfiedLinkError 中的异常
  • VBNet中如何声明SC_Start方法?
  • 无论如何你不能只使用Net dll。 Java 仅适用于本机 dll。您需要将您的 Net dll 包装成原生的。
  • 你有什么想法/代码来实现这个吗?

标签: java vb.net dll


【解决方案1】:

您的 DLL 是否位于 Java PATH 上的目录中?

如果不是,则:

  1. 将包含 DLL 的目录添加到 PATH 中
  2. 将 DLL 移动到 PATH 中已有的目录中
  3. 或使用 DLL 的完整路径,例如 C:\Path\To\Directory\mydotnet.dll

【讨论】:

  • dll 加载良好,但访问 dll 中的函数给出此错误:线程“main”java.lang.UnsatisfiedLinkError 中的异常
  • 您的 DLL 是否设置为供 Java 使用? Java 不能只加载和使用任何旧的 .NET DLL 请参阅此答案以获取解释stackoverflow.com/questions/8675179/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-20
  • 1970-01-01
  • 2018-09-03
  • 2012-06-12
  • 1970-01-01
相关资源
最近更新 更多