zoukankan      html  css  js  c++  java
  • jenkins 中集成JNI的坑

    有包名
    1.生成class
    > javac myjniHelloJNI.java
    2.生成.h文件
    > javah -d include myini.HelloJNI
    3.生成.dll文件
    > gcc -I/opt/jdk/include -I/opt/jdk/include/linux -fPIC -shared -o HelloJNI.dll HelloJNI.c
    4.运行java程序
    > java myjni.HelloJNI
    如果你这步发生问题,如果这步你收到java.lang.UnsatisfiedLinkError异常,可以通过如下方式指明共享库的路径:
    java -classpath . -Djava.library.path='.' myjni.HelloJNI


    不含包名的java程序编译步骤:
    javac HelloJNI.java
    javah -d include HelloJNI
    gcc -I/opt/jdk/include -I/opt/jdk/include/linux -fPIC -shared -o libHelloJNI.so HelloJNI.c
    java HelloJNI
    如果有报错试试下面的命令
    java -classpath . -Djava.library.path=. HelloJNI

    + javah -jni com.nutlet.activity.HelloJNI
    Error: Could not find class file for 'com.nutlet.activity.HelloJNI'.
    提示这个报错的时候在javah 后面增加 -classpath ./ 就可以了。
    初步判断是javah需要classpath路径
  • 相关阅读:
    10年后编程还有意义吗?
    专访Jeffrey Richter:Windows 8是微软的重中之重
    x86汇编指令脚本虚拟机
    基于容器的持续交付管道
    NET Core 整合Autofac和Castle
    数据结构与算法1
    Redis集群
    react + iscroll5
    MongoDB
    WebComponent
  • 原文地址:https://www.cnblogs.com/luolizhi/p/5855921.html
Copyright © 2011-2022 走看看