使用IKVM将jar转换为C#dll - NoClassDefFoundError

时间:2013-02-01 09:30:18

标签: noclassdeffounderror ikvm

我使用IKVM将java jar文件转换为c#dll。 这个jar文件有几个依赖项,我通过-r:reference.dll。

引用了所有依赖项

我仍然得到以下警告,我不知道如何摆脱它:

IKVM.NET Compiler version 7.2.4630.5
Copyright (C) 2002-2012 Jeroen Frijters
http://www.ikvm.net/

warning IKVMC0111: Emitted java.lang.NoClassDefFoundError in "myproject.myclass.setFocus()V"
("org.eclipse.swt.widgets.Control")

我正在转换jar文件的命令是:

ikvmc -target:library -debug -out:project.dll -r:org.eclipse.swt.win32.win32.x86_3.5.2.v3557f.dll -r:severalmoreherretofollow project.jar 2> project.log

类“org.eclipse.swt.widgets.Control”在“org.eclipse.swt.win32.win32.x86_3.5.2.v3557f.dll”中声明,在使用ikvm编译时没有错误DLL。

提前致谢

1 个答案:

答案 0 :(得分:1)

如果您将更多编译为一个jar文件,则建议您一步编译它。有关详细信息,请参阅wiki。这可以防止您传播依赖关系。

我认为你需要使用带-r选项的完全限定文件名。