Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
3
respuestas

[DUDA] Implementación de .jar

Hola, estoy teniendo un problema para llevar a cabo un proyecto del quinto curso de Java (el de Java y java.lang: Programe con la clase Object y String). Estoy en el módulo 3 (Distribución de código) y no puedo terminar lo hecho en dicho módulo. He visto tanto lo hecho por el profesor Diego en los videos como el apartado "Haz lo que hicimos en el aula", pero hay algo que no está funcionando. El problema en cuestión es que si bien puedo exportar, generar las "References" con Build Path y demás, no compila el import. Si escribo "Cuent" (sin la "a" al final) en TestLibrerias el autocompletar de ctrl+[espacio] reconoce Cuenta del jar y demás clases (como CuentaCorriente), pero por algún motivo cuando se autogenera el import este no es accesible, como dice el error en la captura de pantalla. Probé copiar el proyecto entero (bytebank_hererdado_cuenta) de origen del jar alterando los modificadores de acceso de Cuenta (todos a public) y generando el jar de nuevo pero aún así persiste el error. También probé hacer a mano el import y de distintas maneras, pero no dio resultado. Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad Descripción de la imagen para facilitar accesibilidad: Estoy ejecutando Eclipse, con el cursor posicionado en el texto luego de la palabra "import", y el IDE me sugiere los "Quick fixes" disponibles para el error mencionado anteriormente. El texto del error es "The type com.bytebank_heredado_cuenta.modelo.Cuenta is not accessible".

3 respuestas

Hola Fabricio,

te recomiendo que le pases el error a chat gpt y pidele wue te de una solución

Gracias, ya lo pude solucionar con la ayuda de una de las helpers en Discord: @Chan | DrakArietis y pude realizar lo hecho en clase, pero me queda otra duda sobre como trabajar con el código de la clase funcionando, cuando hago c.deposita(2000) y quiero imprimir el getSaldo parece que no estaría encontrando el archivo .class. El error es el siguiente: Error: Unable to initialize main class bytebank_biblioteca7.TestLiberia Caused by: java.lang.NoClassDefFoundError: com/bytebank_heredado_cuenta/modelo/Cuenta Quizás sea necesario crear el archivo classpath cuando se crea el jar para hacer eso, por lo que me sugirió el ChatGPT (en "haz lo que hicimos en el aula" sugieren anular su creación) pero ya pude hacer lo hecho en clase y quiero enfocarme en continuar con los estudios. Muchas gracias.

Por cierto, la solución del problema planteado al principio de este post radicaba en eliminar el archivo module info del proyecto y además, en las ventanas donde se crea el archivo jar (desde su proyecto de origen) impedir la creación del archivo module info propio del jar, que una vez creado, aún accediendo al contenido del jar, no se puede eliminar.