Mi código se está implementando como un archivo JAR. El JAR contiene un directorio lib
que contiene un número de JAR de terceros que mi código requiere. Los he agregado al classpath
, usando Ant, a través del MANIFEST.MF
.Agregar el directorio actual al classpath de un archivo JAR
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 20.5-b03 (Sun Microsystems Inc.)
Main-Class: com.package.Class
Class-Path: ../lib/c3p0-0.9.1.2.jar ../lib/dbunit-2.4.8.jar ../lib/gua
va-10.0.1.jar ../lib/hsqldb.jar ../lib/javax.jms.jar ../lib/log4j-1.2
.16.jar ../lib/mockito-all-1.9.0.jar ../lib/ojdbc14.jar ../lib/slf4j-
api-1.6.4.jar ../lib/slf4j-log4j12-1.6.4.jar ../lib/xmlunit-1.3.jar
También hay un archivo de queries.properties
que está en la raíz de la jarra.
Hay dos archivos de propiedades adicionales que se requieren. Me gustaría que estos residan en el mismo directorio que el archivo JAR y que el código pueda ubicarlos. Creo que para que el código pueda ubicar estos archivos de propiedades, deben estar en el classpath
. Por lo tanto, necesito agregar el directorio del archivo JAR al classpath
.
En primer lugar, ¿este es el enfoque correcto de debería usar un medio alternativo de localizar los archivos de propiedades?
Si esto es correcto, ¿cómo utilizo Ant para agregar el directorio actual del JAR al classpath en MANIFEST.MF
? Agregué los JAR en el directorio lib
al classpath
usando la tarea Ant manifestclasspath
.
* "Me gustaría que éstos residan en el mismo directorio que el archivo JAR" * Si soy el usuario del programa, prefiero que sean 1) En un subdirectorio de 'user.home' (donde son fácilmente accesibles para mi script de respaldo, a diferencia del software, del que no se ha hecho copia de seguridad). O .. 2) En un lugar elegido por mí (utilizando un selector de archivos) en la instalación de la aplicación. –
@AndrewThompson Gracias por su contribución. La aplicación se ejecutará como una tarea programada y no requiere la intervención del usuario. Se trata más bien de mantener juntos los archivos de propiedades y el archivo JAR para ayudar a la implementación. – mip