¿Hay un Java SDK para cygwin?¿Hay un Java SDK para cygwin?
Respuesta
Sería bueno si hubiese una implementación nativa de cygwin que utilizara el sistema de archivos cygwin y X-windows para su visualización, lamentablemente no conozco dicha versión. Asumo que es un gran esfuerzo portar OpenJDK también, pero no lo he intentado.
Aunque no existe un SDK de Java para cygwin, se puede obtener el JDK de Windows para trabajar si usted está dispuesto a dar cabida a soluciones para diversos problemas:
- algunos caminos cygwin no se manejan como se esperaba por los programas de java
- el separador de ruta del archivo es la barra invertida en lugar de recortar
- el separador de entrada de ruta es un punto y coma en lugar de dos puntos
En mi experiencia, el primer punto es por el problema más grande, aunque los tres están de alguna manera interrelacionados. Los separadores tienden a cuidarse a sí mismos como un efecto secundario de resolver el primer problema.
Los tres problemas se resuelven en gran medida configurando un entorno de desarrollo en el que se pueden representar todas las rutas de archivos de interés (vistas por java.io.File y java.nio.Path, etc.) sin especificar una letra de unidad .
Como resulta, rara vez es necesario utilizar barras diagonales inversas en una cadena de ruta de archivo debajo de Windows. Las únicas excepciones a esta regla que he encontrado son al pasar cadenas de ruta de archivo como parámetros al generar una línea de comando para un programa que requiere barras invertidas (por ejemplo, CMD.EXE). Los paquetes java.io y java.nio aceptan todas las barras diagonales, y por lo tanto, para el caso, las bibliotecas de desarrollo de Microsoft. La mayoría de los programas que rechazan un camino con barras inclinadas son (en mi humilde opinión) probablemente lo hagan de manera gratuita.
Entonces, el problema real es que "/ cygdrive/c" no es reconocido por java.io.File como refiriéndose a "C: \".
En otras palabras, la siguiente prueba del archivo volverá falsa:
new java.io.File("/cygdrive/c").exists()
mientras que esto funciona como se esperaba:
new java.io.File("c:/").exists()
versiones recientes de Windows ahora son compatibles con los enlaces simbólicos generales, proporcionando una manera de configurar un entorno de desarrollo cygwin en el que no se utilizan letras de unidad. Con una vista unificada del sistema de archivos completo (con todos los archivos que aparecen debajo de "/", la letra predeterminada de la unidad es invariante, por ejemplo, C :), la letra de la unidad puede descartarse de las cadenas de ruta del archivo. En otras palabras, desea poder referirse a "c: /" como "/". Esto se puede lograr de varias maneras, una de ellas enlazar simbólicamente otras unidades por debajo de c: /, por ejemplo:
$ ln -sFT d:/ c:/d
Si la variable env CYGWIN contiene "winsymlinks: nativo", esto creará un enlace simbólico de Windows, con el resultado que (c asumiendo: es la unidad por defecto) el programa java reconocerá correctamente la cadena "/ d" se refiere a "D: \", por lo que se puede hacer esto:
new java.io.File("/d").isDirectory // returns true, as expected
Si no puede o reacios para modificar su entorno cygwin, hay otro enfoque, que es más universal. Puede extender java.io.Archivar y anular constructores y varios métodos para (en efecto) traducir las rutas de cygwin a sus equivalentes de Windows (como cygpath -m o -w), y para traducir las cadenas de ruta de Windows a un formato más parecido a POSIX. Tengo una biblioteca así (escrita en scala, pero utilizable de Java) y tengo la intención de ponerla a disposición, espero que pronto.
- 1. ¿Hay un iPod SDK?
- 2. Cómo ejecutar Java desde Cygwin
- 3. ¿Hay un SDK para dibujar líneas en iOS con toque?
- 4. NoClassDefFoundError al ejecutar un programa usando AWS SDK para java
- 5. Java JDK, SDK, SE?
- 6. ¿Hay un equivalente Java para LINQ?
- 7. JetS3t vs AWS Java SDK
- 8. Abrir un archivo de Cygwin
- 9. ¿Hay un analizador de Java para el lenguaje Java?
- 10. ¿Hay algún recurso para convertirse en un "usuario avanzado" de Cygwin?
- 11. redhat cygwin vs cygwin? cualquier difrencia?
- 12. ¿Hay un convertidor de Java 7 a Java 6?
- 13. ¿Hay alguna alternativa al SDK de BoxedApp?
- 14. CYGWIN = nodosfilewarning no ayuda cygwin advertencia
- 15. ¿Hay un SoftHashMap en Java?
- 16. Cygwin vs Linux ¿Máquina virtual para desarrollo?
- 17. Diferencias entre JDK y Java SDK
- 18. Nutch-Cygwin Cómo configurar JAVA_HOME
- 19. iPhone SDK: Problemas para arrastrar un UIImageView
- 20. Accediendo a un cygwin symlink desde Windows
- 21. ¿Hay un Trie en Java?
- 22. ¿Cómo puedo configurar mi Cygwin PATH para encontrar javac?
- 23. cygwin + rsync
- 24. ¿Cómo instalo manualmente un paquete cygwin antiguo?
- 25. cygwin establece permiso de archivo para 000
- 26. con el Notepad ++ para git dentro cygwin
- 27. ¿Debo instalar Java SDK si tengo eclipse?
- 28. Apache Web Development en Cygwin
- 29. ¿Cómo matar un proceso en cygwin?
- 30. ¿Funciona perlbrew con cygwin?