Eclipse确实会查找我的插件需要执行的.dll文件。这是文件的完整路径:
C:\Eclipse\eclipse-sib\eclipse\configuration\org.eclipse.osgi\bundles\324\1\.cp\jni4net.n.w32.v20-0.8.6.0
试图像这样打开它:
public class Main {
public static void main(String[] args) {
File f = new File("C:\\Eclipse\\eclipse-sib\\eclipse\\configuration\\org.eclipse.osgi\\bundles\\324\\1\\.cp\\jni4net.n-0.8.6.0.dll");
System.out.println(f.getName() + " " + f.getAbsolutePath());
}
}
有效!
Output:
jni4net.n-0.8.6.0.dll C:\Eclipse\eclipse-sib\eclipse\configuration\org.eclipse.osgi\bundles\324\1\.cp\jni4net.n-0.8.6.0.dll
但是当我在访问文件后立即运行插件时,我会收到以下内容:
使用FUSLOGVW.EXE
它说的相同:
*** Assembly Binder Log Entry (26.08.2013 @ 13:53:35) ***
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable C:\Eclipse\eclipse-sib\eclipse\eclipsec.exe
--- A detailed error log follows.
LOG: IJW explicit bind. File path:C:\Eclipse\eclipse-sib\eclipse\configuration\org.eclipse.osgi\bundles\324\1\.cp\jni4net.n-0.8.6.0.dll.
有人知道问题可能是什么吗?
答案 0 :(得分:2)
我认为此错误可能是因为缺少“jni4net.n-0.8.6.0.dll”的依赖项。 在Windows上,我建议使用FileMon / ProcessMonitor来检查Eclipse在错误发生之前尝试加载的文件/ dll。
答案 1 :(得分:0)
使用以下命令结束文件名:jni4net.n.w32.v20-0.8.6.0 而不是你使用的:jni4net.n-0.8.6.0.dll