1

我使用 IKVM 将 slf4j 转换为 dll 用于 ac# 程序。它给我一个例外。(NoClassDefFoundError 未处理 org.slf4j.LoggerFactory)

代码如下

acceptor = new SocketAcceptor();
connectionHandler = new ConnectionHandler();
serverlistenerPort = 32156;
SocketAcceptorConfig sac = new SocketAcceptorConfig();
sac.getSessionConfig().setTcpNoDelay(false);
sac.setReuseAddress(true);
sac.setBacklog(100);

//The following line is what seems to hate me.
acceptor.bind(new InetSocketAddress(serverlistenerPort), connectionHandler, sac);

连接处理程序是我拥有的一个覆盖 IoHandler 的类(一个 mina 类)我已经三次检查我是否引用了所有 IKVM dll,并且我已经在 Google 上搜索了所有可能的术语组合以寻找解决方案,但是当所有解决方案都对于 Java,他们只需要引用 .jar 文件。我确定我引用了所有 .dll(这可以作为使用 jar 的 java 程序)

4

1 回答 1

0

我遇到过同样的问题。我使用这个命令来编译 dll:

ikvmc -sharedclassloader file1.jar ...... file8.jar

对于我读过的内容应该没问题,不是吗?

然后使用它来将 dll 放入全局缓存中:

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64> gacutil -i "C:\ikvm-7.1.4532.2\bin\IKVM.OpenJDK.Core.dll"

和相同的命令来放置所有需要的部分库

于 2012-08-16T11:51:52.987 回答