在MyEclipse里面调用Dll的方法。报Exception in thread "main" java.lang.UnsatisfiedLinkError
我在CMD里面用javac的方式运行
D:\>javac Process_.java
D:\>java Process_
======
start
[System Process]
System
smss.exe
csrss.exe
wininit.exe
csrss.exe
services.exe
lsass.exe
lsm.exe
winlogon.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
ZhuDongFangYu.exe
svchost.exe
spoolsv.exe
svchost.exe
Connectifyd.exe
raysat_3dsmax2011_32server.ex
raysat_3dsmax2011_64server.ex
mysqld-nt.exe
isqlplussvc.exe
TNSLSNR.EXE
oracle.exe
java.exe
tenpaycert.exe
svchost.exe
vmnat.exe
WLIDSVC.EXE
vmware-authd.exe
WLIDSVCM.EXE
conhost.exe
vmnetdhcp.exe
WmiPrvSE.exe
taskhost.exe
dwm.exe
explorer.exe
WkSvMgr.exe
WanDouJiaHelper.exe
360Tray.exe
concentr.exe
WPService.exe
wfcrun32.exe
TSVNCache.exe
SearchIndexer.exe
svchost.exe
wmpnetwk.exe
svchost.exe
svchost.exe
QQ.exe
TXPlatform.exe
Maxthon.exe
Maxthon.exe
Maxthon.exe
svchost.exe
myeclipse.exe
LiveUpdate360.exe
ctfmon.exe
Maxthon.exe
QQExternal.exe
audiodg.exe
WmiPrvSE.exe
cmd.exe
conhost.exe
SearchProtocolHost.exe
SearchFilterHost.exe
taskhost.exe
java.exe
关闭notepad.exe成功
能够关闭成功。
Process_.java的代码为:
public class Process_ {
static
{
System.loadLibrary( "Process_" );
}
public native static int TerminateProcess(String name);
public static void main(String[] args){
System.out.println("======");
System.out.println( "start ");
Process_ pro = new Process_();
int n = Process_.TerminateProcess("notepad.exe");
if (n==0)
{
System.out.println( "关闭notepad.exe成功");
}
else
System.out.println( "关闭notepad.exe失败");
}
}
可把这段代码拿到MyEclipse下面,点右键Run as --》 Java Application的时候报错。
Exception in thread "main" java.lang.UnsatisfiedLinkError:
com.up.load.Process_.TerminateProcess(Ljava/lang/String;)I
我把Process_.dll放到librarypath下面去了,现在好像是找不到TerminateProcess这个方法,而不是找不到Process_这个类。
望高手解答,谢谢。
相关推荐
java. lang . UnsatisfiedLinkError: org. apache . hadoop. io. nativeio. NativeIOSWindows . access0
我在进行MapReduce本地测试的时候,遇见下面的报错: Exception in thread “main” java. lang . UnsatisfiedLinkError: org. apache . hadoop. io. nativeio. NativeIOSWindows . access0 (Ijava/ lang/String;I)Z 原因:在调用NativeIO中的access0()时调不到 解决方法:①第一步:在项目工程中加入NativelO.java,注意包名必须与源码中一致 ②第二步:将access方法的返回值改为true,不让他去调用access0() 类似
j3dcore-ogl.dll
j3dcore-ogl.dll用于Exception in thread "main" java.lang.UnsatisfiedLinkError: no j3dcore-ogl in java.library.path错误的时候使用,下载后请把文档复制到JAVA\JDK\bin的目录下面即可
可视化vtk中jawt.dll错误解决方案
可视化vtk中jawt.dll错误和可视化的Web service 调用过程中的错误解决方案
支持支持64位的Jpcap.dll
支持64位的Jpcap.dll 用于在64位系统上运行jpcap抓包服务。 如果用32位的Dll,将会出现如下错误: Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jre7\bin\Jpcap.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform 需要将 dll 文件拷到 %JAVA_HOME%\jre\bin\ 目录下。 因为Jpcap是调用的wincap,所以必须将动态库放入jre/bin下。
hadoop-2.6.0-cdh5.14.0 hadoop.dll winutils
一开始使用的是原生的hadoop2.6.0编译的hadoop.dll,但是一直遇到这个问题Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 所以自己就用cdh的hadoop源码编译了一遍,踩了很多坑。最终还是解决了,能在windows中调试mapreduce了。 ps:csdn上看到同样的资源 竟然要10分,下不起 下不起。只能自己做了,5分服务大众。。。


