2013-02-01 54 views
1

我正在使用IKVM將java jar文件轉換爲c#dll。 這個jar文件有幾個依賴項,我通過-r:reference.dll引用了所有依賴項。使用IKVM將jar轉換爲C#dll - NoClassDefFoundError

還有即時得到以下警告,我不知道如何擺脫它:

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時沒有錯誤。

在此先感謝

回答

0

如果您編譯更多的作爲一個jar文件,那麼可以建議編譯一步到位。有關更多詳細信息,請參閱wiki。這會阻止你傳播依賴關係。

我認爲你需要使用帶-r選項的全限定文件名。

+0

謝謝,這對我有用。我編譯了所有啓用了-sharedclassloader標誌的jar文件。現在這條消息已經消失了。順便說一句:相對路徑是可能的 – gonium