style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Obtener la ubicacion de mi proyecto JAVA

Utilizo: Netbeans,servidor Tomcat.

Tengo un problema,quisiera saber la forma de obtener, la ruta donde se encuentra mi proyecto, ya que intento llamar una imagen con image.getinstance() desde un .java;, pero al ejecutar la aplicación WEB, me redirecciona a la capeta de TOMCAT que es donde se esta compilando creo.. y pues no la encuentra. Esta imagen la nacesito para generar un pdf con itext, y por supuesto no me lo genera correctamente ya que la imagen no la encontro.

Agradecería su ayuda.

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.

Creo te refieres a esto

System.getProperty("user.dir");

Puede que te

Puede que te sirva:

System.out.println (new File (".").getAbsolutePath ());

Intente

No me sirve, ya que me genera es la ruta donde se ejecuta la aplicaión, y no donde esta mi proyecto..

System.out.println (new File (".").getAbsolutePath ());

"C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.26\bin\."

Al igual con: System.getProperty("user.dir");

Muchas Gracias, seguire intentando.

Sis usas ant/ivy/gradle

Sis usas ant/ivy/gradle puedes escribir un properties (lo escribes donde generas el build) que tenga la ruta de tu project y en tu codigo lees ese properties y obtienes la ruta de tu proyecto

Imagen de luxspes

ServletContext.getRealPath

Si es una aplicacion web, la manera de obtener la ruta fisica local seria con la funcion getRealPath.

Imagen de bferro

getRealPath puede devolver null

Desafortunadamente, la especificación deja abierta la posibilidad de que getRealPath() devuelva null si por alguna razón no puede convertir el path virtual al path real. Sucede con algunos contenedores que no "explotan" el war en el document root.

Observen lo que hice, un poco a las malas...

Estuve probando, pero lastimosamente me devuelve siempre la direccion, de donde se ejecuta.

Probe este codigo que me da la direccion de mi clase.. y desde ahi llegar a mi imagen.

***********************************************************************************************************
URL rutaca = testEstudiantePdf.class.getProtectionDomain().getCodeSource().getLocation();
System.out.println(rutaca);
String rutama=rutaca.toString();

System.out.println(File.separatorChar);
System.out.println(File.separator);
String [] rutade = rutama.split("/"); //descompongo la ruta
String rutaFinal="";

for(int i =1;i

Observen lo que hice, un poco a las malas... XD

Miren, lo que hago es trae la direccion de donde se encuentra la clase donde traigo la imagen, apartir de ahi obtengo una dirreccion, y sabiendo esta direccion

desconpongo la URl "/" que me genera, y sabiendo el nombbre de mi proyecto recreo la direccion hasta donde me sirve.

Ahora el porblema es que en Windows, funciona correctamente con el separador "/", si mi proyecto se aloja en un servidor linux, me funcionara??
O tendre que cambiarle el tipo de separador para que busque la ruta... ??

Ayuda Muchas Gracias....
********************************************************************************************
URL rutaca = MICLASE.class.getProtectionDomain().getCodeSource().getLocation(); // traigo dirreccion
System.out.println(rutaca);
String rutama=rutaca.toString();

System.out.println(File.separatorChar);
System.out.println(File.separator);
String [] rutade = rutama.split("/"); //separa por este que yo le pongo "/", la direccion en linux me la enviara con este??
String rutaFinal="";

for(int i =1;i

Imagen de josse173

Obtiene el directorio donde está la Clase sea un JAR o un FILE

Pues aqui esto puede ayudarte :)

/**
 * obtiene la carpeta del archivo
 * @author NoRecuerdo
* @Modification YO jejeje
 */

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;
}
}

Entonces... cada que quieras saber dónde está el JAR que ha ejecutado esta clase solo usalo. Te sorprenderás!! :D
Casi olvido decirte, yo lo usé solo para aplicaciones de escritorio.

Miren y opinen...

Miren, lo que hago es trae la direccion de donde se encuentra la clase donde traigo la imagen, apartir de ahi obtengo una dirreccion, y sabiendo esta direccion

desconpongo la URl "/" que me genera, y sabiendo el nombbre de mi proyecto recreo la direccion hasta donde me sirve.

Ahora el porblema es que en Windows, funciona correctamente con el separador "/", si mi proyecto se aloja en un servidor linux, me funcionara??
O tendre que cambiarle el tipo de separador para que busque la ruta... ??

Ayuda Muchas Gracias....
********************************************************************************************
URL rutaca = MICLASE.class.getProtectionDomain().getCodeSource().getLocation(); // traigo dirreccion
System.out.println(rutaca);
String rutama=rutaca.toString();

System.out.println(File.separatorChar);
System.out.println(File.separator);
String [] rutade = rutama.split("/"); //separa por este que yo le pongo "/", la direccion en linux me la enviara con este??
String rutaFinal="";

for(int i =1;i

tengo el mismo problema porfa necesito su ayuda

que tal miren mi problema es parecido lo que pasa es que cree un modulo java en la paleta lo que quiero es que me de la ruta del proyecto en el que me encuentro como lo que hace la herramienta IDE properties pero no se como hacerlo ya que siempre regresa la ruta donde esta ejecutandose mi clase y no en la que se encuentra el proyecto actual.

quiero que me lance la ruta del proyecto supongamos php y mediante el module me lance la ruta del proyecto actual

Imagen de HomeroJDK

Lo solucione de esta forma

Estimados,

Yo para poder acceder a la imagen que se encuentra dentro de mi proyecto, ocupe el siguiente código:

InputStream inputStream = getClass().getClassLoader().getResourceAsStream("imagen/imagen.png");

Espero que te sirva.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">