当前位置: 首页 > 知识库问答 >
问题:

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

欧阳成弘
2023-03-14

我正在使用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")
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.x863.5.2.v3557f.dll”中声明的,在使用ikvm将其编译为DLL时,该类没有错误。

提前致谢

共有1个答案

杜俊远
2023-03-14

如果您将多个文件编译为一个jar文件,那么建议您在一个步骤中编译它。更多详情请参阅wiki。这阻止了依赖项的循环。

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

 类似资料:
  • 我有一个从Oracle数据库读取数据的Java应用程序(JAR)。我想使用IKVM将JAR文件转换为.NET dll。谁能建议一下在创建dll时如何将ojdbc.jar附加或链接到jar文件,这样当我在.NET项目中添加dll时,它应该能够从数据库中读取? 多谢了。

  • 我正在尝试找到一种将dll转换为jar文件的方法。我有一个与java应用程序通信的.NET应用程序。核心实体是.NET对象,我必须在Java中手动复制这些对象。我读过关于IKVM的文章,但它似乎只将JAR转换为DLL,而不是将其转换为DLL。 编辑:如果有一个工具可以从dll创建java类,这也很好。提前致谢

  • 问题内容: 我有一个带有jar文件的Java应用程序和一个lib文件夹,我想将我的应用程序以及lib文件和文件夹捆绑到一个.DMG文件中,以便在MAC OS x上运行,所以如果有人有类似的经验,请帮帮我。 提前致谢 问题答案: 您将所有文件放在一个文件夹中。然后打开“磁盘工具”(“应用程序”->“实用工具”->“磁盘工具”),然后选择“文件夹中的新映像…”。 就这样。

  • 有什么想法吗?

  • 我试着从微软找到一些解决方案,找到了这个独立软件,一个第三方解决方案,它工作很好。当格式为msg时,该文件看起来很好。但它是为客户扩展许可解决方案(使用30天的演示)。这是我用过并工作得很好的东西,并尝试找到类似这样的东西:

  • 问题内容: 有什么工具可以将C代码转换为Java代码?我有兴趣将此代码转换为Java: 问题答案: 您是否考虑过使用JNI来代替从C到Java的转换?