如何在java中加载和使用本机库?

2024-04-04

我有一个 java 类,调用本机方法并尝试加载库:

import java.io.UnsupportedEncodingException;

public class Main {

    public static native String getMyString(String s);

    /**
     * @param args
     * @throws UnsupportedEncodingException
     */
    public static void main(String[] args) throws UnsupportedEncodingException {
        // TODO Auto-generated method stub
        // System.out.println("here!");

        String s2 = getMyString("string text");
        for (Byte b : s2.getBytes("UTF-8")) {
            System.out.print(b);
            System.out.print(",");
        }

    }

    static {
        System.loadLibrary("mylib.so");
    }

}

“mylib.so”位于Main.class所在目录中。

当我跑步时java Main我收到以下异常:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no mylib.so in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1856)
        at java.lang.Runtime.loadLibrary0(Runtime.java:845)
        at java.lang.System.loadLibrary(System.java:1084)
        at Main.<clinit>(Main.java:24)

我应该改变什么才能让它起作用?

我尝试设置库完整路径但没有成功


请执行下列操作:

  • 使用 System.loadLibrary("mylib");
  • 将 mylib.so 复制到 libmylib.so
  • 运行 java -Djava.library.path=/root/ Main
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在java中加载和使用本机库? 的相关文章

  • 运行时异常无法在未调用 Looper.prepare 的线程内创建处理程序错误

    我正在尝试上传带有其他一些 EditText 的照片 我从在线示例中获取了示例代码并对其进行了一些编辑 但是 我收到此错误 08 29 21 36 46 000 E AndroidRuntime 4566 FATAL EXCEPTION A
  • 从 Map 中找出给定值的键的更快方法?

    我想从 HashMap 中找出给定值的键 目前我必须遍历所有键并检查其在映射中的值 有没有更快的方法 用于执行此操作的替代数据结构是BiMap来自谷歌集合 API API 文档是here http google collections go
  • Hibernate中通过ID获取对象

    我注意到我们的高级开发人员使用以下代码通过 ID 检索实体 Override public Source get Long id Session session getSession if session null session sess
  • Javafx-场景快照不显示值和系列

    我制作了一个非常短的应用程序 它使用 javafx 生成图表 应用程序显示正确的值 图表 但当我做快照时 图像仅显示轴和标签 但不显示系列和值 stage setTitle Line Chart Sample final DateAxis
  • 使用 Spring 通过构造函数自动装配集合

    我有一个看似简单的问题 如标题所示 这是我的课程类型 public class Foo Autowired public Foo Qualifier bar Set
  • Java替换特殊字符

    我试图用仅包含特殊字符的模式替换文件中的特殊字符 但它似乎不起作用 String special Something great that special special replaceAll as 但是 当我运行时 我得到原始字符串而不是
  • 正则表达式删除2个字符串之间的所有内容

    我的replaceAll 需要一个正则表达式来删除2 个字符串和字符串本身之间的所有内容 例如 如果我有类似的东西 stackoverflow is really awesome nremove123 n I love it 我试图做一个像
  • 根本原因 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    我有这个小代码用于将我的 jsp 连接到我的 mysql 数据库 String driver com mysql jdbc Driver Class forName driver String url jdbc mysql localhos
  • spring roo vs appfuse 生成服务/dao 层

    我正在寻找有经验的用户对 spring roo 和 appfuse 的反馈 您认为逆向工程数据库表和生成服务层 dao 层和 jpa 实体哪一个更好 如果我没记错的话 spring roo 目前无法对数据库进行逆向工程 只是一个快速更新 通
  • 如何使用 RestTemplate 禁用编码

    我正在使用 REST 模板有意在请求 uri 中发送 例如 items a b String responseEntity restTemplate exchange items a b requestObj getHttpMethod r
  • Java 数组返回奇怪的输出[重复]

    这个问题在这里已经有答案了 我正在为家庭作业问题创建一个方法 该方法返回数组中的最高值 我正在使用一个 for循环将数字输入到数组中 输入代码如下所示 int array new int n for i 0 i
  • 在JPA、关系型数据库等中,什么是Tuple? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在研究 Hibernate 和 JPA 并且一直在寻找这个术语 有人可以用实用和说教的方式向我解释一下这个术语是什么 以及它与 J
  • 将resourceBundle与外部文件java一起使用

    我一直在阅读有关此问题的其他问题和答案 但我不明白资源边界是如何完全工作的 我认为这与 Joomla 使用多语言选项的方式类似 基本上 您有要阅读的不同语言的不同消息的文件 所以我在 src Lang 文件夹中创建了 System prop
  • Hibernate + Oracle IN 子句限制,如何解决?

    我知道这个问题已经发了很多次了 但我想问一下细节 使用 Oracle 您不能向 IN 子句传递超过 1000 个参数 因此将 hibernate 与 Oracle 一起使用可能有一些解决此问题的方案 例如 1 对于每个 1000 个参数列表
  • 如何从github项目获取jar? [复制]

    这个问题在这里已经有答案了 我想使用官方网站上的 kSoap2 android 库http simpligility github io ksoap2 android index html http simpligility github
  • indexoutofboundException :setSpan (2...2) 结束长度超出长度 1

    I ve a MultiAutoCompleteTextView当用户按空格键时 我在其中创建芯片文本的自定义控件 我不希望用户在文本框为空时最初输入空格 所以我放了一个inputFilter以防止用户最初放置空格 这是过滤器代码 priv
  • Java Marine API - 寻找 NMEA 数据

    我的最终目标是从 Adafruit Ultimate GPS NMEA 0183 标准 接收纬度和经度 GPS 信息到我的 Java 应用程序 我正在使用 Java Marine API 来执行此操作 然后 当前位置将与时间戳一起写入数据库
  • Java 到 ruby​​ AES/ECB/PKCS5Padding 加密

    我有一个使用第三方支付门户的在线电子商务网站 支付门户一直运行良好 直到第三方支付门户要求每个人开始使用带有其他支付参数的哈希密钥 现在的问题是第三方支付门户只提供了一页文档来实现哈希密钥 这是提供的文档 加密演算法 为了减少数据传输和发布
  • 无法查找 Websphere 8.5 中是否启用了 SSL

    我编写了一个简单的 ejb 瘦客户端来查找 IBM WebSphere 8 5 中部署的 bean 当服务器上未启用 SSL 时 我能够成功查找 bean 但是一旦启用 SSL 我就开始收到下面提到的异常 This is how I ena
  • 解压缩 GZIP http 响应(使用 jersey 客户端 api、java)

    有人可以告诉我在从某些 Http 调用获取响应时需要做什么才能解压缩 GZIP 内容吗 为了进行调用 我使用 Jersey Client API 请参阅下面的代码 String baseURI http api stackoverflow

随机推荐

  • Eclipse 中的 Scala 执行时间

    当我从 Eclipse 运行 Scala 程序时 出现了一些可疑的情况 我运行一个 App 对象 运行需要 7 8 秒 实际执行时间用对象中的 System nanoTime 计时 当我从命令行运行相同的 class 文件时 需要 2 5
  • 从 json_encode($phpArray) 访问 JSON 对象值

    我是 JSON Javascript 新手 遇到了这种性质的问题 在我的 php 脚本中 我将 php 数组传递给 javascript 如下所示 echo img src misc arrow right png 在我的 JavaScri
  • 有没有用于集成复杂功能的 Haskell 库?

    如何在 Haskell 中对复杂的复值函数进行数值积分 有现成的库吗 数字工具 http hackage haskell org package numeric tools仅在卷轴上运行 我知道在复平面上只有线积分 所以我感兴趣的界面是这样
  • 无法压缩分区数量不等的 RDD

    现在我有3个这样的RDD rdd1 1 2 3 4 5 6 7 8 9 10 rdd2 11 12 13 14 rdd3 15 16 17 18 19 20 我想这样做 rdd1 zip rdd2 union rdd3 我想要的结果是这样的
  • NodeJS 模块与类

    对我来说 类与 NodeJS CommonJS 模块非常相似 您可以拥有许多它们 它们可以重复使用 它们可以互相使用 并且通常每个文件一个 是什么让模块与类如此不同 使用它们的方式不同 命名空间的差异也很明显 除此之外 它们对我来说似乎非常
  • PyQt_Fit:无法导入名称路径

    我正在尝试使用 PyQt Fit 我从 pip install pyqt fit 安装了它 但是当我导入它时它不起作用并显示以下消息 ImportError Traceback most recent call last
  • 使用 Bouncy Castle 在 Java 中复制“openssl smime”?

    我手上有个问题 我不懂 Java 的同事正在使用 OpenSSL 命令对文件进行签名 如下所示 openssl smime binary sign certfile WWDR pem signer passcertificate pem i
  • .fit() 层的 shuffle = 'batch' 参数如何在后台工作?

    当我使用以下方法训练模型时 fit 层的参数 shuffle 预设为 True 假设我的数据集有 100 个样本 批量大小为 10 当我设置shuffle True然后 keras 首先随机选择样本 现在 100 个样本具有不同的顺序 根据
  • 在 Android 应用程序中查看 MS Office 文件

    我正在尝试查看应用程序中的文件 例如音频 视频 PDF 等 我已经成功地做到了这一点 现在我正在尝试查看 Microsoft Office 文件 例如 doc docx xls 和 ppt 在android中有什么办法可以做到这一点 比如调
  • ViewModelProviders 无法在我的片段中工作

    这就是我正在尝试做的事情 Set an ArrayListFragment 内的对象 从观察者处获取该数组FragmentActivity容器 承载所有片段的活动 所以 我所做的如下 首先我创建了SharedViewModel我将从哪里设置
  • GTK+ CSS 一键式

    如何在 GTK 中为一个按钮设置颜色 GtkButton button8 border radius 20 border width 1 1 1 1 font Sans 16 color black background image gtk
  • 使用从 csv 文件读取的矩阵中的 corrplot 函数时,“dimnames”[2] 的长度不等于数组范围

    我想从 csv 文件读取数据 将其保存为矩阵并将其用于可视化 data lt read table Desktop Decision Tree cor test csv header F sep data V1 V2 V3 V4 V5 V6
  • 如何使用RDD API反转reduceByKey的结果?

    我有一个 key value 的 RDD 我将其转换为 key List value1 value2 value3 的 RDD 如下所示 val rddInit sc parallelize List 1 2 1 3 2 5 2 7 3 1
  • 在Gtk中,是否可以使小部件淡入淡出?

    我想要一个Label 或者至少是标签上的文字 进行快速淡入 看起来这是可能在混乱中 http blog didrocks fr index php post Design experience and demos in GTK Clutte
  • 找不到 Magick-config [重复]

    这个问题在这里已经有答案了 可能的重复 ImageMagick RMagick 无法安装 RMagick 2 13 1 找不到 Magick 配置 https stackoverflow com questions 3894225 imag
  • 为什么在循环之外生成随机数会导致它始终相同?

    当我在 while 循环内创建一个随机数作为局部变量时 一切正常 但是当我生成一个随机数作为全局变量时 我就会陷入无限循环 我不明白这会如何以及为什么会产生任何影响 目标是通过 While 循环输出所有小于 0 7 的随机数 这是创建无限循
  • OnResume 相机重新初始化黑屏

    我有个问题 初始化相机进行预览并使另一个应用程序进入焦点后 然后返回我的应用程序 预览显示为黑色 如果我继续拍照 它会拍摄我通常将相机指向的位置的照片 我在 OnResume 覆盖上做错了什么吗 相关代码如下 public void Rel
  • Safari 忽略 tabindex

    我在一个文本框旁边有 2 个按钮 在这两个按钮后面有另一个文本框 第一个文本框的 tabindex 为 1000 第一个按钮为 1001 第二个按钮为 1002 第二个文本框的 tabindex 为 1003 当我按 Tab 时 tabin
  • 在 Mac 终端的 vim 语法突出显示中启用斜体

    我想让 vim 以斜体显示我的评论 并且我知道我需要放置 cterm italic in the hi Comment 我正在使用的 color vim 文件中的行 然而 这对文本显示没有影响 我怀疑这与某些 Terminal app 设置
  • 如何在java中加载和使用本机库?

    我有一个 java 类 调用本机方法并尝试加载库 import java io UnsupportedEncodingException public class Main public static native String getMy