He estado buscando una forma de que los usuarios configuren mi programa como predeterminado para abrir archivos por un tiempo y no hayan encontrado nada. Tengo un programa que se supone que es universal para Mac, Windows y Linux, así que no quiero usar un método que solo funcione con un sistema operativo. Entonces, ¿cómo puedo darles a los usuarios la posibilidad de configurar una aplicación Java como el abridor de archivos predeterminado? ¿Usaría la clase de escritorio?¿Tiene la capacidad de establecer la aplicación Java como abridor de archivos predeterminado?
Respuesta
No Java no es compatible con esto. Debería escribir una pequeña aplicación para cada sistema operativo que desee admitir en su idioma nativo (C++, objetivo c, etc.) que simplemente abriría su aplicación java cada vez que se abra. Luego puede configurar esa aplicación como el programa predeterminado.
se responde aquí en stackoverflow: Use a Java application as the Default Program for a particular file type?
Cita la respuesta:
archivos JAR normalmente no son ejecutables. Es decir, un archivo JAR no es una aplicación válida de Windows. No importa si la extensión JAR tiene una aplicación predeterminada asociada a ella, porque el "Verbo abierto" no se usa recursivamente en otras definiciones de "Abrir verbo".
En cambio,
- Crear un lote ("BAT") archivo (o pequeño envoltorio EXE) que llama java (o javaw, según el caso) y utilizar ese envoltorio ejecutable como el 'Abrir con' programa de . (Esto tendrá una ventana de consola intermedia molesta si usa un archivo de proceso por lotes). O bien,
- Modifique el registro para que el "Abrir verbo" para la extensión inicie el JAR a través de java (o javaw). Al final, cualquiera de las formas debería ser similar a: javaw -jar TheJarFile.jar "% 1%". (Tenga en cuenta que javaw es un ejecutable, mientras que TheJarFile.jar no es un ejecutable.)
Consulte java - el lanzador de aplicaciones Java para saber cómo usar java/javaw.
Ese es el caso de las ventanas. De forma similar, en Linux y Mac tendría que crear un contenedor de aplicaciones nativo que abra un archivo y pase la ruta del archivo a su java jar como parámetro y ejecute el archivo jar.
- 1. Cómo encontrar el Abridor de archivos predeterminado con Java?
- 2. ¿Tiene la JVM la capacidad de detectar oportunidades de paralelización?
- 3. ¿Cuál es la importancia de establecer la capacidad de `IList`?
- 4. ¿Tiene node.js la capacidad de leer desde la URL?
- 5. Establecer a .jar como la aplicación predeterminada? (Mac OSX)
- 6. Declaración de la capacidad de una lista en Java
- 7. ¿Cuánta capacidad tiene Embby derby?
- 8. ¿Cómo establecer la capacidad CAP_SYS_NICE para un usuario de Linux?
- 9. Cómo establecer la paciencia como algoritmo predeterminado git diff
- 10. Git tiene --no-prefix como valor predeterminado?
- 11. Cómo establecer qué control tiene foco en Inicio de aplicación
- 12. ¿Cómo establecer mi cargador de clases personalizado como predeterminado?
- 13. Ejecutar la aplicación de la consola Java como daemon (fondo)
- 14. ¿Cómo establecer un valor predeterminado para la lista de elementos?
- 15. Ejecutar la aplicación Java como servicio
- 16. Java LinkedBlockingQueue con la capacidad de señalizar cuando haya terminado?
- 17. Capacidad de PHP para manejar la recursión
- 18. Establecer la regla de acceso a archivos
- 19. ¿Cómo obtener la capacidad de ArrayList en Java?
- 20. establecer la aplicación de charset en rieles
- 21. Establecer editor predeterminado para archivos XML de Android
- 22. ¿Cómo afecta la capacidad de tipeo estático de Python la capacidad de mantenimiento y la extensibilidad en proyectos más grandes?
- 23. Java - establecer la ruta de clases
- 24. ¿NHaml tiene una capacidad de content_for para diseños?
- 25. Cómo mejorar el control de notas predeterminado en Delphi con la capacidad de subrayar el texto
- 26. ¿Cómo establecer el valor de entrada predeterminado en la aplicación .Net Console?
- 27. Establecer OpenFileDialog como predeterminado en Vista en miniatura
- 28. eliminar la actividad como predeterminado Launcher
- 29. Establecer el valor predeterminado de la matriz dinámica
- 30. Java: nuevoInstancia de clase que no tiene un constructor predeterminado