java.io.File arc = new java.io.File(System.getProperty("java.class.path"));
try{
this.jTextField2.setText(arc.getAbsolutePath().replace(arc.getName(), ""));
catch (Exception ex){}
a diferencia del System.getProperty("user.dir") el System.getProperty("java.class.path") le indica al JRE de Java que devuelva la identificación de la ruta en donde las clases se almacenan, que es por ende el directorio donde está nuestro *.JAR.
Recuerda que sólo funciona fuera del NetBeans, así que para depurar podrías utilizar una variable pasada como argumento y utilizar user.dir que dentro del NetBeans si devuelve el path del proyecto, asi que concatena con "/dist/turecurso.ext".
Funcionó perfectamente en Ubuntu 8.04 y Windows XP con cuentas limitadas. Hasta la próxima y corre la voz sin olvidar dar crédito a mis aportes.
Recuerda que sólo funciona fuera del NetBeans, así que para depurar podrías utilizar una variable pasada como argumento y utilizar user.dir que dentro del NetBeans si devuelve el path del proyecto, asi que concatena con "/dist/turecurso.ext".
Funcionó perfectamente en Ubuntu 8.04 y Windows XP con cuentas limitadas. Hasta la próxima y corre la voz sin olvidar dar crédito a mis aportes.
3 comentarios:
me funciona!!!
hola, tenía el mismo problema en ubuntu, ya que por defecto siempre toma el directorio personal, bueno yo lo que uso es un string que me sirve tanto para cuando se esta en netbeans como para cuando se esta fuera, incluso funciona en windows.
Sabiendo que siemre la carpeta en donde se guardan las clases .java se llama src y que el jar que se genera de la aplicacion siempre serà el mismo en cada compilaciòn se me ocurriò lo sgte y... funcioná, solo reempleza "MiJar.jar" por el nombre real del jar generado por tu aplicación:
String strRuta=System.getProperty("java.class.path");
String strPath=(strRuta.indexOf(":")==-1?strRuta.replace("MiJar.jar", ""):strRuta.substring(strRuta.indexOf(":")+1).replace("src", ""));
JOptionPane.showMessageDialog(null,strPath);
la variable strPath contiene la carpeta en donde se encuentra el jar o el path de la aplicacion desde netbeans.. funciona para ambos casos... espero les sirva.
atte: piero
Publicar un comentario