2011-07-04 51 views
1

IKVM - 無法轉換一個罐子對DLL

使用IKVM JAR文件轉換成一個dll,這樣我就可以用C#用它來測試Java應用程序......我沒有

IA米原始的java源代碼或者類文件。 下面是我在做什麼和錯誤,我得到:

ikvmc myApplication.jar

Note IKVMC0002: output file is "asapi.dll" 
Warning IKVMC0100: class "org.apache.log4j.Logger" not found 
Warning IKVMC0111: emitted java.lang.NoClassDefFoundError in "com.myApp.authenticateUser(LNote IKVMC0002: output file is "asapi.dll" 
Warning IKVMC0100: class "org.apache.log4j.Logger" not found 
Warning IKVMC0111: emitted java.lang.NoClassDefFoundError in 
vices.AsApi.authenticateWithArtifact(Ljava.lang.String;Lcom.myApp.AppApi).... 

任何想法?犯規包含一個main方法這個jar文件...

問候, Deekshit

+1

爲什麼你必須這樣做,你不能只使用java測試jar嗎? – ThomasRS

回答

1

我相信你需要的線沿線的東西更多:

/usr/bin/mono \ 
/path/to/ikvm-0.42.0.6/bin/ikvmc.exe \ 
/path/to/project/target/project-1.2.3.4.jar \ 
-out:/path/to/project/target/project-1.2.3.4.dll \ 
-keyfile:/path/to/project/target/private-key.snk \ 
-assembly:project-1.2.3.4 \ 
-fileversion:1.2.3.4 \ 
-version:1.2.3.4 

如果您的應用程序依賴於第三方罐,你可能需要將它們添加到jar中,使用陰影(根本不是好習慣)。

+0

我在哪裏可以得到private-key.snk文件?我不認爲我們的應用程序團隊創建了這個。 Regards, Deekshit –

+0

這只是一個詳細的例子。我相信你可以安全地跳過'-keyfile','-assembly','-fileversion','-version'。 – carlspring