RUTA DE PROPERTIES

hola me gustaria sabe como hago para obtener la ruta de mi archivo properties que se encuenta en src/conf/system.properties
ya qe cuando inicio el programa la idea es modificar ese archivo de configuraciona mi gusto pero cuando ejecuto desde netbeans no problem pero cuando hago desde consola java -jar miprohrama no funcion :(

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Como lo obtienes?

Como lo obtienes?

intente aplicar esto

public class Directorio {
   
      private static File WORKING_DIRECTORY;
public static File get() {
    String Recurso = Directorio.class.getSimpleName() + ".class";
    if (WORKING_DIRECTORY == null) {
        try {
            URL url = Directorio.class.getResource(Recurso);
            if (url.getProtocol().equals("file")) {
                File f = new File(url.toURI());
                do {
                    f = f.getParentFile();
                } while (!f.isDirectory());
                WORKING_DIRECTORY = f;
            } else if (url.getProtocol().equals("jar")) {
                String expected = "!/" + Recurso;
                String s = url.toString();
                s = s.substring(4);
                s = s.substring(0, s.length() - expected.length());
                File f = new File(new URL(s).toURI());
                do {
                    f = f.getParentFile();
                } while (!f.isDirectory());
                WORKING_DIRECTORY = f;
            }
        } catch (Exception e) {
            WORKING_DIRECTORY = new File(".");
        }
    }
    return WORKING_DIRECTORY;
}
   
}

lo que quiero es que cuando inicie el programa obtener el archivo de properties para modificarllo en el inicio del programa pero simpre me funciona simepre y cuando lo ejecuite desde netbeas pero al hacerlo desde consola app java -jar me da error de carga de archivo

ruta de properties

en el directorio de mi proyecto el properties se encuentra src/conf/archivo.properties
la idea es que cuando ejecute mi programa java -jar miappjava el cargue el properties y pueda cambiar los valores de parametros

Uhm... lo de:

Uhm... lo de: Directorio.class.getSimpleName() + ".class" no suena muy coherente, porque no simplemente pones: "Directorio.class" , bueno como sea...

Entonces por lo que entiendo es que tu aplicación esta asi:

$TUDIR/src/conf/archivo.properties
$TUDIR/algo.jar

?

Si lo que quieres es sacar: $TUDIR tu codigo tiene un error, la variable Recurso ( deberia de llamarse recurso :P ) no tiene el nombre del paquete, entonces si el url de tu jar lo contiene le estas cortando mal

ie:

jar:file:/bla/bla/bla.jar!/com.paquete.Directorio.class

Tu estas cortando :

file:/bla/bla/bla.jar!/com.paquet

Entonces puedes hacer tres cosas:

1. No quitarle el nombre del paquete ( quitarle lo del getSimpleName() cuando recortas la clase para obtener el paquete )

O 2. Poner tu directorio src en el classpath de tu jar. Mira como especificarlo en el manifest.mf , es algo como: Class-path: ./src/conf y desde asi simplemente tendrias que escribir:

Directorio.class.getResource( "archivo.properties" );

O 3 ( que es solo util si quisieras extraer desde dentro de tu jar tu archivo de properties, aunque no lo podrias volver a guardar ): http://stackoverflow.com/a/5061589/20654

Suerte