Soy nuevo en la API de registro de Java y necesito ayuda con este problema: Al crear la aplicación, mi archivo de configuración se almacenó en la carpeta raíz del proyecto, así que usé el interruptor -Djava.util.logging.config.file=logging.properties
para ejecutar el programa. Pero luego exporté el JAR ejecutable. ¿Cómo configurar el registro ahora? No funciona, cuando especifico la ruta al archivo de configuración con el modificador -D.¿Cómo configurar el registro al ejecutar un JAR?
Respuesta
No se puede especificar argumentos de JVM en el archivo MANIFEST.MF por lo que tiene que especificar las propiedades de registro en la línea de comandos o con un acceso directo:
java -Djava.util.logging.config.file=logging.properties -jar yourjar.jar
de lo contrario podría empaquetar un archivo de propiedades (logging.properties en su caso) en el JAR, léalo al inicio y ponga esa configuración en las propiedades del sistema.
The javadoc dice:
Además, el LogManager utiliza dos propiedades del sistema opcionales que permiten más control sobre la lectura de la configuración inicial:
"java.util.logging.config.class" "java.util.logging.config.file"
Estas dos propiedades se puede fijar a través de las Preferencias API, o como comando definiciones de propiedad de línea para el comando "java", o como propiedad del sistema , las definiciones pasaron a JNI_CreateJavaVM.
Si se establece la propiedad "java.util.logging.config.class", el valor de la propiedad se trata como un nombre de clase. La clase dada será cargada, un objeto será instanciado, y el constructor de ese objeto es responsable de leer en la configuración inicial. (Ese objeto puede usar otras propiedades del sistema para controlar su configuración.) La clase de configuración alternativa puede usar readConfiguration (InputStream) para definir propiedades en el LogManager.
Así que, o utilizar la propiedad java.util.logging.config.file
sistema, y almacenar el archivo de configuración del archivo JAR (que es probablemente una buena idea si usted quiere ser capaz de personalizar las propiedades de registro con el fin de depurar o analizar algunos comportamiento extraño), o almacena el archivo de configuración donde quieras (en el archivo jar, por ejemplo) y usa la propiedad del sistema java.util.logging.config.class
para cargar y crear una instancia de una clase que leerá el archivo en el archivo jar (usando Class.getResourceAsStream()
).
- 1. NullPointerException al intentar ejecutar el archivo .jar
- 2. Cómo ejecutar un archivo JAR
- 3. Ejecutar en el archivo Jar
- 4. Cómo ejecutar un archivo jar en Eclipse
- 5. Modificar Ejecutar el archivo jar
- 6. Directorio de trabajo actual al ejecutar un Jar
- 7. NoClassDefFoundError al ejecutar el archivo jar de Scala
- 8. Cómo configurar el nivel de registro predeterminado SBT para "advertir"?
- 9. Cómo configurar el patrón de registro jdk14
- 10. Ejecutar archivo .jar desde un programa Java
- 11. Cómo ejecutar maven generado jar en CLI
- 12. ¿Puedo ejecutar el archivo .jar en Tomcat?
- 13. Ejecutar comando jar excluir archivos
- 14. Ejecutar jar en la consola
- 15. Clojure: ¿Cómo ejecutar mi main desde jar?
- 16. ¿Cómo incluir el archivo jar al crear un paquete R?
- 17. ¿Cómo puedo ejecutar un archivo .jar en java
- 18. ¿Cómo ejecutar una clase java con un jar en classpath?
- 19. cómo ejecutar o instalar un archivo * .jar en Windows?
- 20. ¿Cómo configurar el nivel de registro específico de clase en el registro de GWT?
- 21. NoClassDefFoundError al intentar ejecutar mi jar con java.exe -jar ... ¿qué pasa?
- 22. ¿Cómo configurar el classpath cuando se ejecuta el jar de 'lein uberjar'?
- 23. En Linux, ¿cómo ejecutar el archivo jar de Java con archivos jar externos?
- 24. Ejecutar un archivo JAR utilizando un JRE específico
- 25. ¿Cómo configurar el registro de commons para usar logback?
- 26. ¿Cómo configuro log4j logging para un jar?
- 27. Ejecutar .jar desde archivo por lotes
- 28. archivo jar Ejecutar en símbolo del sistema
- 29. ¿Cómo configurar el registro de Tomcat JULI para transferir archivos de registro?
- 30. Espere un segundo al ejecutar el programa