Pergunta

Eu tenho um tamanho médio (testes de código de 25k linhas, 25k linhas) codebase em java, e gostaria de porta-lo para ser executado em um CLR, bem como a JVM.

Somente a classe principal, e um teste de alguns utilitários de lidar com o sistema de arquivos ou sistema operacional em qualquer forma. O resto do código utiliza as APIs coleções genéricas extensivamente, java.util.regex, java.net (mas não URL ou URLConnection), java.io para codificação charset / decodificação, java.text para a normalização unicode, e org.w3c. dom para manipulação de XML.

É possível obter a maioria da base de código compilação em ambos J # e Java, e então a porta do resto?

Se sim, que tipo de armadilhas estou provável funcionar em?

Agradecemos antecipadamente, mike

Foi útil?

Solução

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

Ele permite que você execute (especialmente compilado) código Java dentro do .Net CLR.

Alguns dos meus colleages tê-lo usado com sucesso com um Java codebase de 1 milhão de linhas de + de código.

Outras dicas

Armadilhas:

  • Qualquer coisa como isso assusta o inferno fora de mim. O número de erros muito sutis à espera de acontecer é enorme.
  • J # suporta apenas Java 1.1.4 AFAIK -. Adeus genéricos etc
  • Visual Studio 2008 não suporta J # -., Basicamente, é um projeto morto

Eu suspeito que você realmente encontrá-lo mais simples para reescrevê-lo em C # (incluindo a aprendizagem C # se você ainda não sabe - é uma alegria). Você vai acabar com uma biblioteca de mais idiomaticamente .NET-like dessa forma também, se isso é relevante: se você quiser outro desenvolvedor .NET para consumir o seu código, eles são susceptíveis de ser muito mais feliz com um "puro". NET de um usando J #.

A desvantagem é que daqui para frente, todas as mudanças também precisam ser feitas em dois locais. Há certamente dor lá, mas eu realmente acho que você vai ter uma melhor experiência usando "normal" NET.

Como Jon apontou: J # é bastante morto

.

Executando o seu código Java (normal) em .NET usando IKVM pode ser uma alternativa, 'embora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top