在MyEclipse里面调用Dll的方法。报Exception in thread "main" java.lang.UnsatisfiedLinkError

w111222j w111222j 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
让别人用C帮我写的一个DLL,用来传递一个进程名称,然后杀掉和进程名字相同的进程。

我在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() 类似

weixin_38513665

j3dcore-ogl.dll

j3dcore-ogl.dll用于Exception in thread "main" java.lang.UnsatisfiedLinkError: no j3dcore-ogl in java.library.path错误的时候使用,下载后请把文档复制到JAVA\JDK\bin的目录下面即可

bibi白嫖君

可视化vtk中jawt.dll错误解决方案

可视化vtk中jawt.dll错误和可视化的Web service 调用过程中的错误解决方案

gejiahao

支持支持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下。

windows2008

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分服务大众。。。

汤袍子泽
评论 1
收藏 已收藏
分享
返回顶部
w111222j
Java EE 67,535 成员 225,843 内容