Necesito hacer uso de jar adicionales durante la ejecución del programa. Añado manualmente los frascos a la carpeta relativa ./lib y luego ejecuto el programa. ¿Cómo debería definir el classpath en el archivo de manifiesto?¿Cómo usar la expresión regular en el classpath del manifiesto java?
Respuesta
No puede usar expresiones regulares u otros comodines en el atributo Class-Path
de su manifiesto.
Sólo hay un comodín apoyado en Java, y que sólo funciona en si se especifica en la línea de comandos en un "manual" java
invocación (es decir, no utilizando -jar
): using directoryname/*
.
¿Hay algún otro enfoque que no sea usar el comando -cp o la función de cargador de clases? – Suraj
@Suraj: preguntar acerca de otros enfoques sin decirnos por qué esos enfoques no son buenos para usted es ... bastante inútil. Y personalmente, me parece bastante grosero también. –
¡Lo siento! En realidad estoy programando el código para un enfoque fácil de usar y desplegando el mismo en un contenedor ejecutable. Es tener una base de datos genérica donde el usuario puede elegir su base de datos. Por lo tanto, necesita especificar el tarro de conectividad necesario y ponerlo en la carpeta accesible del programa. Pensé que si podía usar la expresión regular en el classpath de manifiesto como lib/* OR lib/*. Jar para que cuando el programa se ejecuta encuentre todos los archivos jar. – Suraj
que no estoy muy seguro de lo que quiere exactamente, pero se puede añadir frascos durante el tiempo de ejecución:
lista- (JAR) utilizando File.list() en el directorio que contiene los frascos
- hacer una expresión regular en los nombres de archivo se recupera
- utilizar un URLClassLoader para cargar el frasco
no sé exactamente cómo registrar (si es necesario) los URLClassLoaders para el cargador de clase principal. Pero esa es la forma en que creo que iría.
No puede modificar el cargador de clases bootstrap dentro de la especificación (hay hacks feos que pueden hacerlo, usando 'addURL()'). La solución conforme a las especificaciones sería poner solo la clase Boostrapping en su propio jar, usar eso para encontrar todos los otros jar (incluido el jar principal "real") y cargar todos los que estén en un cargador de clases. Luego llame al método principal real de la clase principal real. –
- 1. ¿Usar expresión regular en css?
- 2. cómo negar cualquier expresión regular en Java
- 3. ¿Cómo usar la expresión regular con el comando find?
- 4. Construyendo la variable ClassPath en el archivo Manifiesto con Eclipse
- 5. Pepino: ¿Cómo usar la misma expresión regular en diferentes transformaciones?
- 6. Cómo escanear texto para la expresión regular en Java
- 7. Java expresión regular operador OR
- 8. ¿Cómo usar la expresión regular con caracteres opcionales en python?
- 9. Cómo usar la expresión regular para la moneda
- 10. java - cadena dividida usando la expresión regular
- 11. Expresión regular simple de Java
- 12. ¿Cómo usar la expresión regular en lxml xpath?
- 13. ¿Cómo usar la expresión regular de Python para reemplazar el uso del grupo capturado?
- 14. - (guión) en la expresión regular
- 15. ¿Expresión regular para encontrar una expresión regular?
- 16. Cómo usar variables dentro de Expresión regular en Javascript
- 17. ¿Cómo usar los corchetes dobles en una expresión regular?
- 18. expresión regular de java Buscar y reemplazar
- 19. Expresión regular de Java ejecutando muy lento
- 20. Python - Cómo usar la expresión regular en el archivo, línea por línea, en Python
- 21. ¿La expresión regular de Java ofrece algún beneficio de rendimiento?
- 22. expresión regular de Java con lookahead
- 23. Java - expresión regular que encuentra comentarios en el código
- 24. expresión regular "contiene" otra expresión regular
- 25. ¿Qué coincide con la expresión regular "\\ p {Cntrl}" en Java?
- 26. expresión regular de java que devuelve falso
- 27. expresión regular para encontrar caracteres especiales en Java
- 28. Definición de classpath personalizado para un manifiesto jar en gradle
- 29. ¿Cómo extraer el grupo de la expresión regular en Oracle?
- 30. Java expresión regular con un guión
¡Tengo una solución! Incluiré variables como: Class-Path: lib/externaljar1.jar lib/externaljar2.jar etc hasta 5 o 10 valores. Luego, aunque incluya jarras durante el tiempo de ejecución, simplemente renómbrelas como externajar1, externaljar2, etc. y cópielas a la carpeta lib. ;-) – Suraj
Agradezco a cada1 que respondió mi consulta. ¡Muchas gracias! – Suraj