jni4net-java.lang.UnsatifiedLinkError:net.sf.jni4net.Bridge.initDotNet()I
我找到了这个图书馆,我非常喜欢它。。。但我不能开始使用它。。。我不知道我做错了什么,但有人能帮我吗 我已经阅读了wiki和环境设置。我正在用Java做一个简单的hello world,调用C# 但我收到了这个错误:jni4net-java.lang.UnsatifiedLinkError:net.sf.jni4net.Bridge.initDotNet()I,java,c#,java-native-interface,jni4net,Java,C#,Java Native Interface,Jni4net,我找到了这个图书馆,我非常喜欢它。。。但我不能开始使用它。。。我不知道我做错了什么,但有人能帮我吗 我已经阅读了wiki和环境设置。我正在用Java做一个简单的hello world,调用C# 但我收到了这个错误: java.lang.unsatifiedLinkError:net.sf.jni4net.Bridge.initDotNet()I 以下是我在Eclipse中的文件夹设置: 这是我的主要课程: package testJni4net; import java.io.IOExcept
java.lang.unsatifiedLinkError:net.sf.jni4net.Bridge.initDotNet()I
以下是我在Eclipse中的文件夹设置:
这是我的主要课程:
package testJni4net;
import java.io.IOException;
import java.lang.String;
import net.sf.jni4net.Bridge;
import system.*;
import system.Object;
import system.io.TextWriter;
import system.collections.IDictionary;
import system.collections.IEnumerator;
public class Teste1 {
public static void main(String[] args) throws IOException {
// create bridge, with default setup
// it will lookup jni4net.n.dll next to jni4net.j.jar
Bridge.setVerbose(true);
Bridge.init();
// here you go!
Console.WriteLine("Hello .NET world!\n");
// OK, simple hello is boring, let's play with System.Environment
// they are Hashtable realy
final IDictionary variables = system.Environment
.GetEnvironmentVariables();
// let's enumerate all keys
final IEnumerator keys = variables.getKeys().GetEnumerator();
while (keys.MoveNext()) {
// there hash table is not generic and returns system.Object
// but we know is should be system.String, so we could cast
final system.String key = (system.String) keys.getCurrent();
Console.Write(key);
// this is automatic conversion of JVM string to system.String
Console.Write(" : ");
// we use the hashtable
Object value = variables.getItem(key);
// and this is JVM toString() redirected to CLR ToString() method
String valueToString = value.toString();
Console.WriteLine(valueToString);
}
// Console output is really TextWriter on stream
final TextWriter writer = Console.getOut();
writer.Flush();
}
}
下面是完整的堆栈跟踪:
Can't initialize jni4net Bridgenet.sf.jni4net.Bridge.initDotNet()I
Exception in thread "main" net.sf.jni4net.inj.INJException: Can't initialize jni4net Bridge
at net.sf.jni4net.CLRLoader.init(CLRLoader.java:45)
at net.sf.jni4net.Bridge.init(Bridge.java:35)
at net.sf.jni4net.Bridge.init(Bridge.java:31)
at testJni4net.Teste1.main(Teste1.java:19)
Caused by: java.lang.UnsatisfiedLinkError: net.sf.jni4net.Bridge.initDotNet()I
at net.sf.jni4net.Bridge.initDotNet(Native Method)
at net.sf.jni4net.CLRLoader.init(CLRLoader.java:37)
... 3 more
我不知道为什么,但这个错误发生在我的jdk7上。所以我回到JNI4NET0.8.3版本,一切都很好!对不起。但是我还不能更新到jdk8,因为我正在使用另一个供应商的应用程序