Question

J'ai un (Code 25k lignes, 25k tests lignes) de taille moyenne codebase java, et je voudrais le porter à courir sur un CLR, ainsi que la machine virtuelle Java.

Seule la classe principale, et quelques utilitaires de test portent sur le système de fichiers ou OS de quelque façon. Le reste du code utilise les collections génériques API largement, java.util.regex, java.net (mais pas l'URL ou URLConnection), java.io pour charset encodage / décodage, java.text pour la normalisation unicode et org.w3c. dom pour la manipulation XML.

Est-il possible d'obtenir la plupart des codebase compilation sous les deux J # et Java, puis le port le reste?

Si oui, quel genre de pièges que je suis susceptible de se heurter?

Merci d'avance, micro

Était-ce utile?

La solution

Consultez IKVM: http://www.ikvm.net/

Il vous permet d'exécuter (spécialement compilé) du code Java dans le .NET CLR.

Certains de mes colleages ont utilisé avec succès avec un Java codebase de 1 million + lignes de code.

Autres conseils

Pitfalls:

  • Tout comme ça fait peur le diable hors de moi. Le nombre de bugs vraiment subtils attente de se produire est énorme.
  • J # prend en charge que Java 1.1.4 AFAIK -. Génériques au revoir, etc
  • Visual Studio 2008 ne prend pas en charge J # - essentiellement c'est un projet mort
  • .

Je soupçonne que vous souhaitez réellement trouver plus simple de le réécrire en C # (y compris l'apprentissage C # si vous ne connaissez pas déjà - c'est une joie). Vous vous retrouverez avec un plus idiomatiques bibliothèque .NET comme de cette façon aussi, si cela est pertinent: si jamais vous voulez un autre développeur .NET pour consommer votre code, ils sont susceptibles d'être beaucoup plus heureux avec un « pur ». NET projet d'une aide de J #.

L'inconvénient est que l'avenir, les changements devraient également être fait en deux endroits. Il y a certainement la douleur, mais je pense vraiment que vous aurez une meilleure expérience en utilisant .NET « normal ».

Jon a souligné:. J # est assez mort

Exécution de votre (normal) du code Java sur .NET en utilisant IKVM pourrait être une alternative, « cependant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top