我在一个项目中工作,我们必须将Java应用程序移植到.Net,但是用户希望继续使用它,因此我们还必须提供错误修复,维护。

Java应用程序由2层组成,背面是swing UI和Hibernate。我的想法是引入服务层,并将应用程序拆分为服务层后面的更多功能组件。此端口移植后,UI仅进入C#,并使用IKVM调用Java组件(将带有ikvmc的所有jar编译为dll),最后逐个移植组件。 (通过这种方式,我们可以继续进行移植并提供支持)

我一直盯着评估IKVM,但我一直停留在休眠状态。首先,我想一次为所有库调用ikvmc:

ikvm-7.0.4335.0\bin\ikvmc.exe -target:library -assembly:hibernate_hellow_deps antlr-2.7.6.jar commons-collections-3.1.jar commons-lang3-3.1.jar commons-pool-1.5.6.jar derbyclient.jar dom4j-1.6.1.jar hibernate-commons-annotations-3.2.0.Final.jar hibernate-core-3.6.9.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar hibernate-validator-4.2.0.Final.jar javassist-3.12.0.GA.jar jta-1.1.jar log4j-1.2.16.jar slf4j-api-1.6.4.jar slf4j-log4j12-1.6.4.jar validation-api-1.0.0.GA.jar


我得到了很多警告,例如:

Warning IKVMC0100: class "org.xmlpull.v1.XmlPullParser" not found


对我来说,我似乎必须用ikvmc编译休眠库的依赖关系树中的所有jar文件以及依赖关系等。

这是正确的方法,我应该编译所有依赖项吗?
这是正确的方法吗,还是可以通过其他方式将我的Java组件(jar文件)与IKVM一起使用?

我还将评估jnbridge。

谢谢,
五十

最佳答案

您只需要编译所需的jar文件。如果这是可选组件,则可以忽略此警告。

08-28 18:02
查看更多