1

私はJavaアプリケーションを.Netに移植する必要があるプロジェクトに取り組んでいますが、ユーザーはそれを継続的に使用したいので、バグ修正とメンテナンスも提供する必要があります。

Javaアプリは2層になっており、SwingUIとHibernateが背面にあります。私の考えは、サービスレイヤーを導入し、アプリケーションをサービスレイヤーの背後にあるより機能的なコンポーネントに分割することです。この後、UIをC#にのみ移植し、IKVMを使用してJavaコンポーネントを呼び出し(ikvmcを使用してすべてのjarをdllにコンパイルします)、最後にコンポーネントを1つずつ移植します。(このようにして、移植を進め、サポートも提供できます)

私は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

私にとっては、hibernateライブラリの依存関係ツリーにあるすべてのjarファイルや依存関係の依存関係などをikvmcでコンパイルする必要があるようです。

これは正しい方法ですか、すべての依存関係をコンパイルする必要がありますか?これは正しいアプローチですか、それとも別の方法でIKVMでJavaコンポーネント(jarファイル)を使用できますか?

jnbridgeも評価します。

thx、50

4

1 に答える 1

1

必要な jar ファイルのみをコンパイルする必要があります。これがオプションのコンポーネントである場合、この警告は無視できます。

于 2012-05-25T16:45:46.863 に答える