Domanda
Ho una di medie dimensioni (25k linee di codice, 25k linee di test) base di codice in java, e vorrei portarlo a correre su un CLR così come la JVM.
Solo la classe principale, e un paio di utilità di test trattare con i file di sistema o OS in alcun modo.Il resto del codice utilizza il generico collezioni Api ampiamente, java.util.regex, java.net (ma non l'URL o URLConnection), java.io per il set di caratteri per la codifica/decodifica, java.testo unicode normalization e org.w3c.dom per la manipolazione XML.
È possibile ottenere la maggior parte del codice la compilazione in entrambi i J# e Java, e quindi porta il resto?
Se è così, che tipo di insidie sono probabilmente?
grazie in anticipo, mike
Soluzione
Check out IKVM: http://www.ikvm.net/
Esso consente di eseguire (appositamente compilato) codice Java all'interno del .Net CLR.
Alcuni dei miei colleghi hanno utilizzato con successo con un Java codebase di 1 milioni di righe di codice.
Altri suggerimenti
Insidie:
- Tutto questo spaventa il heck fuori di me.Il numero di bachi in attesa di accadere è enorme.
- J# supporta solo Java 1.1.4, per quanto ne so - addio generici etc.
- Visual Studio 2008 non supporta J# - in fondo è un progetto morto.
Ho il sospetto che sarebbe, in realtà, è più semplice da riscrivere in C# (tra cui l'apprendimento C# se non si conosce già, è una gioia).Vi ritroverete con un più idiomatico .NET-come la biblioteca che, se pertinenti:se hai mai desiderato un altro .NET developer per utilizzare il tuo codice, sono suscettibili di essere molto più felice con un "puro" .Progetto in rete di un utilizzo di J#.
Il rovescio della medaglia è che, andando avanti, le eventuali modifiche sarebbe anche bisogno di essere in due posti.Certo è che il dolore c'è, ma credo davvero che avrete una migliore esperienza di utilizzo "normale" .NET.
Jon ha sottolineato:J# è abbastanza morto.
Esecuzione (normale) codice Java su .NET utilizzando IKVM potrebbe essere un'alternativa, anche se.