he hecho una aplicación en JDK7, pero la jre6 todavía está siendo utilizada en el mercado, y si envío mi archivo jar a alguien con jre6, no funcionará, ¿hay alguna manera de hacerlo? la aplicación verifica la versión jre y si no es compatible, pida al usuario que actualice ...cómo verificar la versión de jre usando la aplicación java
Respuesta
Puede usar el método System.getProperty(String key); con "java.version"
como clave.
String version = System.getProperty("java.version");
Ejemplo de salida:
1.6.0_30
Las teclas disponibles se pueden encontrar en here.
funcionará si jre no coincide ... porque en mi caso el archivo jre simplemente da la pantalla de bienvenida y se cierra solo si uso jre6 ... necesito una solución a prueba de tontos !! – rahul
puede publicar la excepción que muestra –
no muestra ninguna excepción ... el programa no se ejecutará ... hice un cuadro de diálogo de error de excepción .....pero nada funciona .. – rahul
System.getProperty("java.version")
Nota: Se devolverá la versión de JVM actual, JVM en el que se ejecuta el código, si usted tiene java6 & Java7 instalado en su equipo y está ejecutando este código en java 7 le mostrará la versión 7
funcionará si jre no coincide ... porque en mi caso el archivo jre simplemente da la pantalla de bienvenida y se cierra solo si uso jre6 ... necesito una solución a prueba de tontos !! – rahul
¿podría darnos la excepción que se muestra cuando se cierra? –
no está dando ninguna excepción ... simplemente no se está ejecutando ... he hecho un cuadro de diálogo de error en caso de alguna excepción .... por lo tanto, no he mostrado nada ... – rahul
aquí hay un example que comprueba la versión y selecciona una excepción si la versión está en correcto usando System.getProperty("java.version");
funcionará si jre no coincide ... porque en mi caso el archivo jre simplemente da la pantalla de bienvenida y se cierra solo si uso jre6 ... ¡¡necesito alguna solución a prueba de tontos !! – rahul
No puedo verificarlo en atm, pero si lo pones en una clase que se carga antes de que se carguen las clases específicas de jre7, debería funcionar – Sibster
Usando Java Web Start tiene un cuadro de mensaje sobre la versión java si no es compatible con su jar. Por ejemplo:
<resources>
<j2se version="1.4+"
href="http://java.sun.com/products/autodl/j2se" />
en el archivo jnlp
static public void main(String[] arg) throws IOException
{
PrintStream out = System.out;
Properties pro = System.getProperties();
Set set = pro.entrySet();
Iterator<Map.Entry<String , String >> itr = set.iterator();
while(itr.hasNext())
{
Map.Entry ent = itr.next();
out.println(ent.getKey() + " -> " + ent.getValue() + "\n");
}
}
Uso System.getProperty("java.version")
o System.getProperty("java.runtime.version")
obtener la versión de Java instalada.
El código anterior snipped ayuda a encontrar más detalles tales como el nombre del proveedor de Java, etc. OS
UnsupportedClassVersionError ocurriría si se intenta ejecutar un archivo Java en una versión anterior de JRE en comparación con la versión en la que estaba compilado.
java.lang.UnsupportedClassVersionError: número de versión de Bad en el archivo .class [en java.lang.ClassLoader.defineClass1 (Método Nativo)] sobre la ejecución de un archivo de clase Java compilado.
En esencia, no puede ejecutar archivos .class compilados con una versión más reciente que la JVM.
- 1. ¿Cómo verificar la versión de JRE antes del lanzamiento?
- 2. Java: encuentre la versión de tzdata en uso, independientemente de la versión de JRE
- 3. Cómo determinar la versión mínima de JRE y los requisitos del sistema para mi aplicación Java
- 4. Cómo verificar la versión de db2
- 5. cómo verificar la versión de esfinge?
- 6. ¿Cómo verificar la versión html que está usando cualquier aplicación web?
- 7. ¿Cómo acelerar la ventana "Verificar los requisitos de la aplicación"?
- 8. ¿Cómo verificar la versión de la aplicación y solicitar a los usuarios que se actualicen?
- 9. ¿Cómo averiguo la versión JDK que está usando Eclipse?
- 10. Cómo verificar la escalabilidad de mi aplicación
- 11. Cómo verificar mediante programación la versión/modelo de iPad
- 12. Java JRE vs GCJ
- 13. Cambiando la versión de Java
- 14. Webstart se ejecuta con una versión incorrecta del JRE
- 15. ¿Cómo puedo verificar la versión de los módulos de Apache?
- 16. ¿Cómo puedo verificar la versión de una instancia de Liferay?
- 17. Install-base of Java JRE?
- 18. Verificar la versión actual del nodo
- 19. Cómo verificar la versión de Ant en el script Ant
- 20. ¿Cómo verificar la versión de ASP.NET cargada en un sistema?
- 21. ¿Cómo verificar la versión de iOS es iOS 6?
- 22. ¿Cómo puedo verificar la versión del sistema de Android?
- 23. iOS versión de la aplicación
- 24. JDK, JRE, Java: Version Confusion!
- 25. ¿Cómo verifico la versión de SQL Server usando Powershell?
- 26. Ant está usando la versión incorrecta de Java
- 27. ¿Cómo puedo verificar la versión del paquete de nuestra aplicación mediante programación?
- 28. ¿Cómo agrupar la aplicación Java para Mac/Windows?
- 29. ¿Cómo verificar la versión específica de un submódulo usando el submódulo git?
- 30. ¿Cómo capturar la pantalla seleccionada de otra aplicación usando java?
Aquí hay un [enlace] (http://stackoverflow.com/questions/198431/how-do-you-compare-two-version-strings-in-java) cómo comparar la versión de JRE. – Crazenezz
@Crazenezz: ¿hay alguna manera de verificar a través de dos, creando un archivo de lote de Windows y básico virtual, podría hacerse esto? si coincide, ¿ejecutará el frasco? ¿Esto puede hacerse prácticamente, lo estoy diciendo? – rahul
Existe la posibilidad de hacer eso en lote. Puede convertir el algoritmo en el enlace que doy arriba y traducirlo con el estilo de programación por lotes (si se siente cómodo al usarlo). – Crazenezz