- 浏览: 174617 次
- 性别:
- 来自: 郑州
-
文章分类
- 全部博客 (90)
- web前端 (23)
- java (30)
- 其它 (7)
- jbpm4.4 (1)
- 服务器 (2)
- 数据库 (11)
- J2se (1)
- 812202 (0)
- access sql (1)
- 数据库管理工具 (1)
- smartupload (1)
- win7 控制台窗口已停止工作 (1)
- xfire spring web service (1)
- 免安装版本 tomcat 后台启动 设置 (1)
- js 处理日期类型 (1)
- input 自动填充 (1)
- android 连接webservice (2)
- tomcat 直接通过IP访问web项目 (1)
- svn 修改历史日志 (1)
- java 设计模式之适配器 (1)
- android 程序日志记录 (3)
- Win7 电脑突然USB无法识别 方法记录 (1)
- java 实现图片缩略 (1)
- android 更多,刷新 (3)
- access 导入mysql (1)
- java 加密,解密 (0)
- 闪回数据 (1)
- extjs 弹出进度条 (1)
- JSP 绝对路径显示服务器非webapps下的图片或资源 (0)
- html 制作彩信未完 (1)
- android 2.2 api (1)
- java 反射 (1)
- jquery 购物车 (1)
最新评论
-
masuweng:
oracle 迁移 sqlite -
nanjiwubing123:
你好 ,在IE6环境下运行demo,出现dhtmlXTreeO ...
dhtmlxtree 右键菜单的增加,删除,修改 -
李_俊:
呃,那么复杂,果断无视,找一个简单的。
java 源码混淆器 -
shanshan518:
兼容性不好,还有没有精确到秒,楼主
精确到秒的js日期时间选择器 -
mynamelzk:
日期时间选择器非常好用,谢谢你了
日期选择器,中文
转载http://blog.csdn.net/niuxinlong/article/details/4176612
J2EE引擎出现java.lang.UnsatisfiedLinkError: CC错误的原因(2008-03-04 11:03:29) 标签:报表软件 报表工具 web报表 软件 下载 it 如意报表 分类:基本概念 运行JSP报表程序页面出现java.lang.UnsatisfiedLinkError: CC错误有以下几种原因和处理方法: 1、请查看控制台的错误信息 a:如果控制台的消息是类似 java.lang.UnsatisfiedLinkError: no MRChkLib in java.library.path,Error loading library MRChkLib 这样的错误信息,那么是因为MRChkLib.dll没有拷贝到windows的System32目录下. (MRChkLib.dll是加密锁的JAVA接口文件,文件在报表安装目录DogDriver/JavaAPI下可以找到) 并且要注意PATH环境变量中要包含System32目录。(如果服务器操作系统是Linux,那么使用报表安装目录DogDriver/JavaAPI 下的libMRChkLib.so文件,将libMRChkLib.so复制到WebServer的启动bin目录。如果在这个目录下仍然出现can not load library错误,请设置系统环境变量LD_LIBRARY_PATH的值为libMRChkLib.so所在的目录。 例如:如果libMRChkLib.so在/somedir目录下,则 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/somedir) b:如果控制台的消息是类似 java.lang.unsatisfiedLinkError :native libery c:/winnt/system32/mrchklib.dll already loaded in another classLoader error loading mrchklib.dll 这样的错误信息,那么是因为WebAPP在重新被启动之后,无法再次加载动态库造成的,这是java的约束,Java不允许一个实例加载多次动态 库.可以这样解决,将mr.jar拷贝到WebServer的lib目录,删除/WEB-INF/lib目录下的mr.jar,然后重新启动 webserver。 2、如果一个webserver上有多个报表应用,请将/WEB-INF/lib/mr.jar移动到WebServer的lib目录下,确保每一个Web应用程序目录下都没有mr.jar,而只有WebServer的lib目录下有该文件,重启webserver. 3、一个Webserver上只能有一个mr.jar文件,删掉多余的mr*.jar文件,然后清除webserver临时文件,重新启动webserver。 =================================================================================== 最近项目中用到了jni,于是安装了eclipse的cdt和MinGW来用,以前没怎么动过C语言,网上找了下教程,倒是挺容易的,一路弄下来也没提示什么错误,但是在最后调用本地方法时却遇到了大麻烦,总是提示找不到方法。即使一个简单的HelloWorld,也是一样 Exception in thread "main" java.lang.UnsatisfiedLinkError: HelloWorld.print()V 奇怪了,loadLibrary()没有问题,怎么会找不到方法呢?用dll export viewer察看,导出的方法为 函数名 地址 偏移量 Java_HelloWorld_print@8 0x67741250 0x00001250 实在没办法了,只好安装庞大的visual studio重新来编译,调用成功了! 再次用dll export viewer查看,发现函数名的前面多了一条下划线 函数名 地址 偏移量 _Java_HelloWorld_print@8 0x67741250 0x00001250 看来是给MinGW少传了某个参数,经过网上查阅资料,终于找到一个解决方案:给MinGW的ld命令指定一个参数--kill-at即可 gcc -Wl, --kill-at -shared -o jnihello.dll HelloWorld.c 再次用dll export viewer查看,发现导出的函数名称变为 函数名 地址 偏移量 Java_HelloWorld_print 0x67741250 0x00001250 --kill-at指令去掉了函数名称后缀的@,并没有像msvc那样添加前缀的下划线 ======================================================================== 现象: java.lang.UnsatisfiedLinkError: Native Library xxx.dll already loaded in another classloader at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1551) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1511) at java.lang.Runtime.loadLibrary0(Runtime.java:788) at java.lang.System.loadLibrary(System.java:834) 分析: 这种错误在我们使用热启动方式发布某个使用了JNI技术的Web应用时,并将调用年native方法的jar包独立部署在该应用下面,当我们的Web应用 有了更新以后,在调用到该jar包封装的native方法时,会抛出该错误。(以上OS为Windows,若是Linux或Unix,应该是xxx.so 报错) 这是因为Web服务器已经在第一次加载该应用时,已经load了该dll,当该应用被再次热启动时,该dll将重新被加载,于是报错。 解决方案: 一、将含有JNI调用的jar包部署在Web服务器的公用lib库中。Web应用再发布时可以不用加载; 二、jar包部署不变,在该Web中实现一个listener,监听是否第一次启动,若不是第一次启动,屏蔽掉该jar包所含dll的加载。 ======================================================================== 类装入问题:UnsatisfiedLinkError 作者:Simon Burns 来源:IBM 整理日期:2007-6-3 UnsatisfiedLinkError 在把本机调用链接到对应的本机定义时,类装入器扮演着重要角色。如果程序试图装入一个不存在或者放错的本机库时,在链接阶段的解析过程会发生 UnsatisfiedLinkError。JVM 规范指定 UnsatisfiedLinkError 是: 对于声明为 native 的方法,如果 Java 虚拟机找不到和它对应的本机语言定义,就会抛出该异常。 当调用本机方法时,类装入器会尝试装入定义了该方法的本机库。如果找不到这个库,就会抛出这个错误。 清单 6 演示了抛出 UnsatisfiedLinkError 的测试用例 : 清单 6. UnsatisfiedLinkError.java public class UnsatisfiedLinkErrorTest { public native void call_A_Native_Method(); static { System.loadLibrary("myNativeLibrary"); } public static void main(String[] args) { new UnsatisfiedLinkErrorTest().call_A_Native_Method(); } } 这段代码调用本机方法 call_A_Native_Method(),该方法是在本机库 myNativeLibrary 中定义的。因为这个库不存在,所以在程序运行时会发生以下错误: The java class could not be loaded. java.lang.UnsatisfiedLinkError: Cant find library myNativeLibrary (myNativeLibrary.dll) in sun.boot.library.path or java.library.path sun.boot.library.path=D:/sdk/jre/bin java.library.path= D:/sdk/jre/bin at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2147) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2006) at java.lang.Runtime.loadLibrary0(Runtime.java:824) at java.lang.System.loadLibrary(System.java:908) at UnsatisfiedLinkErrorTest.<clinit>(UnsatisfiedLinkErrorTest.java:6) 本机库的装入由调用 System.loadLibrary() 方法的类的类装入器启动 —— 在清单 6 中,就是 UnsatisfiedLinkErrorTest 的类装入器。根据使用的类装入器,会搜索不同的位置: 对于由 bootstrap 类装入器装入的类,搜索 sun.boot.library.path。 对于由扩展类装入器装入的类,先搜索 java.ext.dirs,然后是 sun.boot.library.path,然后是 java.library.path。 对于由系统类装入器装入的类,搜索 sun.boot.library.path,然后是 java.library.path。 在清单 6 中,UnsatisfiedLinkErrorTest 类是由系统类装入器装入的。要装入所引用的本机库,这个类装入器先查找 sun.boot.library.path,然后查找 java.library.path。因为在两个位置中都没有需要的库,所以类装入器抛出 UnsatisfiedLinkageError。 ========================================================================== java.lang.UnsatisfiedLinkError 出现这种错误的原因是一般是java虚拟机找不到声明为native方法的本地语言定义时,出现的错误。在我的理解过程中我一般都认为是由于导入dll或 者导入lib文件不正确导致的。有些需要静态导入就没有问题(即在前面加static来导入lib文件),如果是不加static导入也就是动态导入的时 候,那么需要添加catch的抛出异常来解决,如 try{ System.loadLibrary("vtkCommonJava"); System.loadLibrary("vtkFilteringJava"); System.loadLibrary("vtkIOJava"); System.loadLibrary("vtkImagingJava"); System.loadLibrary("vtkGraphicsJava"); System.loadLibrary("vtkRenderingJava"); }catch(Throwable e) { System.out.println("The load problem"); } 这种方式来判断,或者直接在类前面添加 static{ System.loadLibrary("vtkCommonJava"); System.loadLibrary("vtkFilteringJava"); System.loadLibrary("vtkIOJava"); System.loadLibrary("vtkImagingJava"); System.loadLibrary("vtkGraphicsJava"); System.loadLibrary("vtkRenderingJava"); } ================================================================================ 关于java.lang.UnsatisfiedLinkError(JNI) 目标:把pbp1.0的java包和native移到GEM中,并使GEM在新的虚拟机上正常运行 背景:GEM(1)有一堆java包和native函数,pbp1.0是虚拟机和JAVA基本包,要将pbp1.0的虚拟机移走只用它的JAVA基本包和native函数。 问题:在将GEM和pbp1.0的native函数生成一个动态库后在程序里System.loadLibrary()无法加载,报java.lang.UnsatisfiedLinkError 解决过程: 1,理论 我们知道,JAVA调用native函数时,必须通过System.loadLibrary()或System.load将其native函数所在动态库 加载到虚拟机。并在运行时指明-Djava.library.path或-Dsun.boot.library.path,将其指向包含有native函 数的动态库所在位置。 2,实施 我按这个步骤操作完成后就是无法加载我生成的动态库libgem.so,这个库用到的其他动态库包括:rt,pthread,freetype,dl, directfb,而directfb用到的动态库有rt,dl,pthread,freetype,jpeg,png,这些库除了directfb要生 成外其余都在/lib目录下存在。 3,思路 先写了一个Hello的测试用例。发现在native里所使用到其他动态库时,无论是否存在于相关目录,仍然无法加载。然后经过修改编译选项,把所使用到的动态库连动态连接进目标库,如下: $(GCC) -fPIC -shared -o libdirectfb.so ... -lpng -ljpeg -lpthread -lrt -ldl, -lfreetype 经过这么一个修改后,directfb可以加载。 这也说明System.loadLibrary()所加载的动态库所引用的所有符号都要能找到。如果有一个无法找到将无法加载。可以写一个空的main ()函数,对你的动态库进行连接,如果动态库里所引用的符号在指定的动态库和本身找到不到则无法编译通过,那么这个动态库也肯定加载不了。 4,问题解决 按照这个思路,对libgem.so的编译Makefile做相应修改后,问题解决!并在LD_LIBRARY_PATH加入动态库所在目录。 (1) MHP (Multimedia Home Platform) was developed by the DVB Project as the world's first open standard for interactive television. It is a Java-based environment which defines a generic interface between interactive digital applications and the terminals on which those applications execute. MHP was designed to run on DVB platforms but there was a demand to extend the interoperability it offers to other digital television platforms. This demand gave rise to GEM, or Globally Executable MHP, a framework which allows other organisations to define specifications based on MHP. ==================================================================================== 另外,还可能是dll本身的问题,使用release版的,而不要用debug版的 ============================================================================= 关于编写JNI时的发生的unsatisfiedlinkError错误- - 这个错误也让我郁闷了半天,现在我把它写出来,可以让大家少走点弯路。一般这个错误有两种: 1。unsatisfiedlinkError:dll名,那说明你没有把dll放到合适的位置,一般就和要调用原生函数的类放在一起,当然前提是你成功的生成dll了 2。unsatisfiedlinkError:方法名,这个时 候你其实dll已经成功生成了,而且位置也正确,它的意思就是你没有定义那个函数,你可能会说,我明明定义了,其实当你发现问题所在,你只能自虐了,肯定 是你在C文件中定义函数时有些字母大小写错了,因为其他地方是自动生成的,不会出错。尤其是直接从网上拷贝源程序时经常发生这种问题,有些作者不负责任, 把有错误的程序也贴上去。
发表评论
-
Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换
2013-07-16 19:15 0转载http://my.oschina.net/sorthW ... -
Spring中加载ApplicationContext.xml文件的方式【转】
2013-03-18 09:34 10641.利用ClassPathXmlApplicationCon ... -
Duplicate name in Manifest: SHA1-Digest
2012-11-27 17:17 4057Duplicate name in Manifest: SHA ... -
JSP 绝对路径显示服务器非webapps下的图片或资源
2012-05-08 19:08 0设置tomcate 虚拟路径 1:在tomcate/ser ... -
java 加密,解密
2012-04-05 17:20 0package test; impor ... -
java 实现图片缩略
2012-02-29 11:02 1025用到的Jar:Thumbnails 查看下载 地址:http ... -
java 设计模式之适配器
2012-02-20 10:48 950转载:http://www.lshine.com/index. ... -
tomcat 直接通过IP访问web项目
2012-02-19 12:28 48071:在开发时访问web项目是这样的http://localho ... -
xfire ibatis spring web service
2011-11-04 14:37 12931:所用的jar xfire-all-1.2.6.ja ... -
xfire spring web service
2011-11-03 18:17 1156转载 http:// ... -
Spring_ibatis_jta多数据源配置
2011-08-12 15:02 2079转载 Spring+iBatis+JOTM实现JTA事 ... -
Spring事务配置的五种方式
2011-06-28 11:54 1022转载http://developer.51cto.com/ar ... -
JFileChooser使用详解
2011-06-21 10:38 4908JFileChooser 转载 (2010-11-30 23 ... -
java 连接各种数据库 总结
2011-05-24 23:09 4585Oracle8/8i/9i数据库(thin模式) Cl ... -
java 实现某个日期增减天数
2011-05-20 01:46 1373转载:http://blog.csdn.net/zdwzzu2 ... -
dom4j 验证xml dtd
2011-05-08 18:52 1130转载:http://hi.baidu.com/%C0%EE%D ... -
Eclipse 3.WindowBuilder Pro及使用SWT Designer
2011-05-06 11:59 1769转载:http://apps.hi.baidu.com ... -
swing 管理器二
2011-05-06 09:26 936import java.awt.Dimension; imp ... -
swing 布局管理器
2011-05-05 17:53 1191当选择使用JPanel和顶层容器的content pane时 ... -
java 源码混淆器
2011-04-19 16:41 12654[转载] http://blueskylan.itey ...
相关推荐
总结来说,解决`java.lang.UnsatisfiedLinkError`涉及检查库文件路径、版本匹配、IDE配置以及可能的依赖冲突。通过仔细分析`build-local.mk_setpath`文件并参考提供的博客资源,你应该能找到问题的根源并成功解决。
解决方法 后面我把原先tomcat启动环境用的jdk1.7改为了本机安装的jdk1.8就不在报错。 具体过程: 在myeclipse中点击window→preference→在搜索框中输入Tomcat→选择安装的tomcat版本,我这里是选择Tomcat 7.x→点击...
解决方案:Exceptionin thread "main" java.lang.UnsatisfiedLinkError:org.apache.hadoop.util.NativeCrc32.nativeCo
Exception in thread main java.lang.UnsatisfiedLinkError解决
Java.lang.UnsatisfiedLinkError解决方法 Java.lang.UnsatisfiedLinkError是一种常见的错误类型,通常发生在Java应用程序中,当Java程序尝试加载Native库或DLL文件时,可能会出现这种错误。本文将详细介绍Java.lang...
本文件夹专为以下错误对症下药。...Exception in thread "VFW Request Thread" java.lang.UnsatisfiedLinkError: JMFSecurityManager: java.lang.UnsatisfiedLinkError: no jmvfw in java.library.path
Java中的`java.lang.UnsatisfiedLinkError`是一个常见的运行时异常,通常出现在Java试图加载本地(C或C++)库时找不到相应的函数或者方法。在Android开发中,尤其是在使用JNI(Java Native Interface)进行跨语言...
loadLibrary msc error:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.example.xflinean-1/base.apk”],nativeLibraryDirectories=[/vendor/lib, /system/...
我在进行MapReduce本地测试的时候,遇见下面的报错: ...解决方法:①第一步:在项目工程中加入NativelO.java,注意包名必须与源码中一致 ②第二步:将access方法的返回值改为true,不让他去调用access0() 类似
最近我们发现很多用户...java.lang.UnsatisfiedLinkError: couldn't find libarcsoft_face_engine.so 原因: 在安装应用时,APK中指定的ABI目录下没有发现指定的动态库,寻找apk中动态库的规则详见 https://developer
解决java引入sigar运行时报错"java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Mem.gather",将压缩包解压后,放入本地项目lib中即可解决该类问题,该jar包由官网下载
AndroidRuntime: java.lang.UnsatisfiedLinkError: Couldn’t load airtalkee from loader dalvik.system.PathClassLoader[DexPathList[[zip file “/system/app/POCM3A.apk”, zip file “/data/data/com.cmccpo
在Android平台上进行JNI(Java Native Interface)开发时,有时会遇到`java.lang.UnsatisfiedLinkError`这样的错误,这通常表明Java程序无法找到对应的本地库方法。本问题中,开发者在将C语言编写的JNI方法转换为C++...
UnsatisfiedLinkError exception loading native library: njni10 java.lang.UnsatisfiedLinkError: jniGetOracleHome
1.错误Can't load IA 32-bit .dll on a AMD 64-bit platform解决方案 2.springboot启动报错java.lang.UnsatisfiedLinkError: no tcnative-1 in java.library.path 3.tomcat-native-1.2.24-openssl-1.1.1g-win32-bin
安装jpcap报错:Exception in thread "main" java.lang.UnsatisfiedLinkError: C:/Windows/System32/Jpcap.dll: Can't find dependent libraries 解决办法。