Java 运行时JNI问题

本人编译一个jar文件,非runnablel类型的。

jar源文件结构如下:
---xxx.api
|__a.java
|__ b.java

---xxx.error
|___c.java
类似如上,又写了一个测试程序,非常简单,用于测试jar文件。 只是一个main入口而已。用IED 编译运行都没问题。但是命令行编译时出现 error: cannot find symbol 问题,加入-classpath <jar文件文件路径> 后,编译通过,但是运行时出现 Error: A JNI error has occurred, please check your installation and try again,困扰许久无法解决,请赐教。

1、在执行java的时候,要输入完整的包名+类名。否则在以后的测试调用过程中会发生java.lang.UnsatisfiedLinkError这个异常。

2、错误的详细信息。

3、CLASSPATH、PATH。

4、写入程序出现问题

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-25
没用过jni, 基本上都是jna解决的 不过稍微搜了一下, 看到这句 在这里有必要多句嘴,在执行javah的时候,要输入完整的包名+类名。否则在以后的测试调用过程中会发生java.lang.UnsatisfiedLinkError这个异常。追问

这里面没有用到Java Native Interface, 那东东确实有用过,所以出现的问题都明白。虽然错误内容是: Error: A JNI error hast occurred, please check you intsallation and try again.
这里主要是在使用自己编译的Jar文件的时候,手动编译和运行Java代码,正确步骤是什么。正确命令和参数应该是什么。

本回答被网友采纳
第2个回答  2015-09-22
1、错误的详细信息

2、CLASSPATH、PATH追问

测试jar文件的项目目录如下

本回答被提问者采纳

jni出现错误是什么意思?
jni错误可能是由于本地程序接口定义和Java程序接口定义不一致导致的。其他常见的原因包括本地程序库缺失、不正确的参数传递、内存泄漏以及线程问题。当出现jni错误时,需要对错误进行分析,追踪出问题来源,并及时解决问题,以避免影响程序正常运行。解决jni错误通常需要开发人员具备一定的jni编程能力,需要对jni...

Java 运行时JNI问题?
1、在执行java的时候,要输入完整的包名+类名。否则在以后的测试调用过程中会发生java.lang.UnsatisfiedLinkError这个异常。2、错误的详细信息。3、CLASSPATH、PATH。4、写入程序出现问题 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,...

Java命令行运行出现A JNI error has occurred的错误解决办法
当你在Java命令行中尝试执行代码时,不幸地遇到了一个"Error: A JNI error has occurred"的错误,这无疑会给开发者带来困扰。令人不解的是,代码的编译阶段可能一切正常,但在运行时却突然抛出了这个错误。这个看似棘手的问题其实有着简单的解决之道。问题的根源往往在于JDK版本的混乱。由于可能安装了多...

jni异常怎么解决?
面对JNI异常,首先应仔细检查调用参数、资源管理及逻辑实现。确认版本兼容性、合理释放资源、确保逻辑正确性是解决问题的基础。在调用Java函数时,确保C语言代码遵循Java的内存管理规则,避免资源泄露。同时,合理处理异常,使用异常捕获机制及时响应可能出现的问题,确保程序稳定运行。在复杂的JNI实现中,关注Java...

jni为什么性能差
jni性能差是系统原因。根据查询相关公开资料信息显示,jni全称为javajni,javajni的系统具有两种编程缺陷致使javajni性能较差。

C调用java时使用JNI的问题!急。。。
java程序有两种方式一种是jar包,一种是class. 运行jar,java -jar XXX.jar运行的时候,java.exe调用GetMainClassName函数,该函数先获得JNIEnv实例然后调用java类java.util.jar.JarFileJNIEnv中方法getManifest()并从返回的Manifest对象中取getAttributes("Main-Class")的值即jar包中文件:META-INF\/...

用eclipse运行java程序出现错误提示error:A JNI error has occureed...
编译版本与运行版本不一致导致的,在窗口->首选项里面设置:就可以了。

Java运行,提示Error:A JNI error has occurred,please check your...
Unknown username. Check again or try your email address.

jni为什么性能差
1. JNI(Java Native Interface)性能较差的原因之一是系统层面的设计问题。2. 根据公开资料,JNI的全称是Java Native Interface,其设计中存在的两种编程缺陷导致了性能的下降。

在java本地方法调用中,jni.h这个文件起到的作用是什么?它和jniEvn...
JAVA class类运行在JVM中,即在堆栈(逻辑的数据结构)中,这个堆栈的数据结构都一样,所以就JAVA就有了跨平台。而有的时候JAVA想直接对计算机硬件操作,即直接对寄存器操作,那么就需要相应的本地库,jni.h就是本地库。这个本地库内的API都是完全基于寄存器来操作的。一个字一个字敲的,不知道我说...

相似回答