【问题标题】:Convert jar to C# dll using IKVM - NoClassDefFoundError使用 IKVM 将 jar 转换为 C# dll - NoClassDefFoundError
【发布时间】:2013-02-01 09:30:18
【问题描述】:

我正在使用 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")

我正在转换 jarfile 的命令是:

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。

提前致谢

【问题讨论】:

    标签: noclassdeffounderror ikvm


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,这对我有用。我在一个步骤中编译了所有启用了 -sharedclassloader 标志的 jar。现在这条消息消失了。顺便说一句:相对路径是可能的
    • 我们可以提供 .jar 作为参考吗?
    猜你喜欢
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多