#Java

1 messages · Page 1 of 1 (latest)

jovial stag
#

Hola

manic peak
#

Vale, mi duda es, tengo un método que me busca uans imagenes de usuario en las carpetas del proyecto

#

El problema es que a la hora de hacer el despliegue al compilar ese sistema de carpetas cambia

jovial stag
#

Ah

#

Problema de rutas

manic peak
#

Por lo que al buscar la imagen evidentemente no la encuentra

#

Si

jovial stag
#

Cómo estás manejando?

manic peak
#

Os paso el método

jovial stag
#

Alguna captura

#

A ver

manic peak
#
        Path imagePath = Paths.get("RocketAPI", "src", "main", "resources", "static", "images", "profile", userId + ".jpg");
        if (!Files.exists(imagePath)) {
            imagePath = Paths.get("RocketAPI", "src", "main", "resources", "static", "images", "profile", "0.jpg");
        }
        byte[] imageBytes = Files.readAllBytes(imagePath);
        String imageBase64 = Base64.getEncoder().encodeToString(imageBytes);
        
return imageBase74
}```
jovial stag
#

Captura😿

rotund bridge
#

el despliegue seria en un servidor o alguna asi?

manic peak
jovial stag
#

Qué servicio usas para deployar?

#

O desplegar*

#

Perdón

rotund bridge
#

ah claro, es que el problema es que es una computadora distinta, seguramente linux, osea, no va a tener esa carpeta de imagenes

#

solo compila el archivo, no lo ejecutes en el servidor

manic peak
rotund bridge
#

aunque igual no se por que un programa asi lo desplegarias en un servidor

#

o me imaginaria que mas bien lo compilarias y lo usrias directamente en tu pc

manic peak
#

Pues porque es una API y este método solo es una función que utilizan los endpoints de la API XD

rotund bridge
#

crei que era en tu propia pc

manic peak
#

XD

thorn turret
#

De lo poco que recuerdo de haber utilizado imágenes en java para un ejecutable en la universidad, lo que yo hacía era hacer una carpeta public o resources en la raíz y luego de generar el ejecutable colocaba esa carpeta al mismo nivel del ejecutable y la encontraba.

manic peak
#

Mhhh

#

entiendo

#

Utilizabas algún framework o java puro ?

thorn turret
#

En ese caso era una aplicación en java puro con sockets, pero me imagino que la base debe ser la misma, ya que todo depende si esa carpeta resources va embedida en el ejecutable generado o la anexas aparte. en mi caso yo preferia colocar las librerias y recursos aparte del ejecutable

manic peak
#

utilizo railway

#

El código debería: Encontrar la imagen que busco XD

#

El código falla: Encontrando la imagen que busco

#

No encuentra la ruta al compilar el proyecto

#

En local evidentemente si me funciona

#

pero cuando subo el .jar al servidor pues no

thorn turret
#

Que path estás usando dentro del código, y como queda la distribución de carpetas en el ejecutable?

manic peak
manic peak
#

Que por eso no lo he podido solucionar vaya XD

#

pq no sé cual es la ruta en el ejecutable

thorn turret
#

Encontré el ejemplo en mi backup de la uni:

    public static final String PATH_SOUND_VICTORY = "resources/Victory.wav";
    public static final String PATH_SOUND_ALERT = "resources/Alert.wav";
    public static final String PATH_SOUND_TURN = "resources/Turn.wav";

y las carpetas las tenía así al generar el ejecutable

├── resources
│   ├── Victory.wav
│   ├── Alert.wav
│   └── Turn.wav
└── ejecutable.jar

No sé si algo así te ayude.

manic peak
#

Si lo hciste con maven

#

puedes enseñarme el Build del pom.xml ?

thorn turret
#

no esta con maven sorry

manic peak
#

oki

#

bueno

#

Voy a testear

#

a ver si sale algo

thorn turret
#

Podrías intentar abrir el jar con algo como winrar, ahora que recuerdo, a ver si así vez si tienes los resources en el ejecutable

manic peak
#

Vale las he encontrado

#

me cago en satanás

#

ahora a ver si consigo que funcione a la primera con la ruta