Pregunta sobre converter, c#, sharpen-tool, java – Uso de Nitidez y eclipse: error "Aplicación" sharpen.core.application "no se pudo encontrar en el registro".

4
Fondo

Actualmente estoy haciendo una prueba comparativa de soluciones para convertir código java a c # Tenemos un software java de rápida evolución y no vamos a portar algunos apis de bajo nivel (no ui) con una herramienta, porque mantener todos los cambios entre versiones podría resultar realmente agotador ... De todos modos, he estado tratando de usar Sharpen, ya que escuché que es una herramienta bastante perversa utilizada por algunos "monstruos" mono para mantener a raya algunas versiones de sus herramientas.

Lo que hicePara este propósito, probé varios tutoriales que encontré en Internet, los más fáciles de entender siendohttp://www.pauldb.me/post/14916717048/a-guide-to-sharpen-a-great-tool-for-converting-javaComo el enlace que proporciona para un complemento de nitidez de compilación previa ahora está roto, compilo mi propia versión del complemento utilizando las fuentes e instrucciones que se encuentran aquí:https://github.com/xamarin/XobotOS/Resultado

El complemento se construye perfectamente, y se instala en mi carpeta de eclipse. Pero cuando intento ejecutar la secuencia de comandos ant después de configurar todo, aparece un error:

java.lang.RuntimeException: la aplicación "sharpen.core.application" no se pudo encontrar en el registro.

Conclusión

Bien. Estoy perdido aquí. No tengo idea de lo que eso significa.

Estoy usando Windows 7 64bitEstoy usando Eclipse 3.7Estoy usando Java 6 SDK de 64 bits

Si alguien se topa con esto y tiene una solución ... Eso será útil.

Gracias por adelantado.

Tu respuesta

1   la respuesta
6

Inicialmente intenté el mismo enfoque que tú, con el mismo resultado. Pero si sigues las instrucciones de laREADME.build archivo, secciónArmando cosas, debería poder iniciar aplicaciones secundarias de Eclipse con los plug-ins sharpen.core y sharpen.xobotos incluidos.

Luego, puede importar su proyecto Java sujeto a conversión en la aplicación Eclipse secundaria, siempre que haya incluido un comando y una naturaleza de Sharpen Xobot Builder en su archivo de proyecto, como este.proyecto Archivo en la carpeta XobotOS / Android. Edité el archivo .project manualmente antes de importar el proyecto, pero ¿asumo que también puede configurarlo desde Eclipse?

Los archivos de configuración proporcionados porPaul du bois no son aplicables, en su lugar tendrá que copiar y editar elconverter-config.xml archivo de la carpeta XobotOS / android. Este archivo a su vez hace referencia a un archivo en elaplicación subcarpeta, que probablemente también necesita ser copiada y editada.

Esto es básicamente hasta donde he podido llevarlo hasta ahora. He podido editar los archivos de configuración para permitir que se ejecute el convertidor, pero en este punto solo he podido generar stubs de C #. Si usted u otra persona logran llevar esto aún más lejos, me encantaría saber cómo generar archivos C # reales con el convertidor de XobotOS Sharpen.

ACTUALIZAR

Preguntó a Miguel de Icaza si había instrucciones para convertir proyectos Java arbitrarios utilizando la versión XobotOS Sharpen. Respondió que hay muchos detalles codificados en esta versión que hacen que sea difícil de aplicar a proyectos arbitrarios. En esta etapa recomiendaLluis Sanchez 'Sharpen Versión para ser utilizada en su lugar.

Por cierto, la biblioteca NGit ha sido movida aaquí. Encontrarás un completo funcional.afilar el complemento para Eclipse en la subcarpeta gen / plugins.

ACTUALIZACIÓN 17 DE MAYO

Tenga en cuenta que necesita tener laEntorno de desarrollo de plug-in Software instalado en Eclipse para poder construir y ejecutar los proyectos de plug-in. Si estas corriendoEclipse IDE para desarrolladores de Java (SE), necesitas extenderlo con el software PDE.

¡Interesante! Intentaré su enfoque lo antes posible y veré si yo también puedo evitar los talones. ¡Gracias! Anders Gustafsson
¿Qué significa esto?i.stack.imgur.com/SXik4.png Andrii
Hombres, estaba cansado: mi oración anterior no es correcta en inglés: P Agregue (y no use) cada paquete como espacio de nombres, en el archivo api-def.xml, con algo como eso: <namespace name = "com.redwarp .test "output =" / output / sharpen "> La salida le dirá cómo debe tratarse. Si no desea ningún documento, debe poner output = "/ output / sharpen-no-docs", etc ... Redwarp
En realidad, tuve algo de éxito! Descubrí que instalé el plugin incorrectamente, hense Eclipse reaction. He probado tantas versiones de Sharp que surgió algún conflicto. Al final, limpié todo, luego lo hice funcionar con lluis sharpen y xobotos sharpen. Si no quiere un código auxiliar, debe usar cada paquete como espacio de nombres en el archivo converter-config.xml ... Bueno, para la solución que se me ocurrió, puede haber otras maneras. Redwarp
@Redwarp, me alegra que hayas descubierto cómo hacer esto, pero todavía estoy perdido. He copiado elsharpen.core_1.0.0.jar archivo de ngit a de Eclipseplugin carpeta, pero no tengo idea de cómo usarlo realmente desde Eclipse. Todo este calvario me ha hecho odiar el desarrollo de Java más de lo que imaginaba posible antes. Todo en las páginas de db4o está obsoleto e incompleto y no puedo encontrar ningún tutorial sobre cómo hacer todo lo necesario para convertir un simple.java archivo a un.cs expediente. :( Asbjørn Ulsberg

Preguntas relacionadas