Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

208
Visualizações
¿Cómo agregar recursos a dos frascos modulares en carpetas con el mismo nombre?

Suponiendo que tenemos dos archivos jar con dos módulos diferentes. Ambos archivos jar incluyen algunos recursos (digamos archivos png) en una carpeta llamada imágenes en su jar. Cuando intento iniciar un módulo en Java, aparece el siguiente error:

 Error occurred during initialization of boot layer java.lang.LayerInstantiationException: Package images in both module A and module B

Aunque mi carpeta de imágenes no pretende ser un paquete, es solo una carpeta que contiene recursos. Entonces, ¿cómo puedo obtener dos módulos con una carpeta de imágenes en mi ruta de módulo?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

¿Cómo agregar recursos a dos frascos modulares en carpetas con el mismo nombre?

Si bien es posible hacer esto colocando los recursos en una ruta que no sea un nombre de paquete válido, como META-INFO/resources u otra ruta con un guión - , recomendaría no hacerlo ya que dichos recursos no son encapsulado, y es posible que no sea identificable de forma única con algunas API.

En otras palabras: CUALQUIER código en la aplicación puede cargar un recurso que no está dentro de un paquete válido, no solo el código del módulo en el contenedor que contiene el recurso.

Además de: si el recurso no tiene un nombre único basado en su ruta dentro del jar, la API ClassLoader.findResource solo puede encontrar uno de los recursos con el mismo nombre.


Mi consejo sería crear un paquete en su módulo que tenga el mismo nombre que el módulo, con el sufijo .images . por ejemplo, mod.foo.images , y luego coloque sus recursos en ese paquete. Luego cargue el recurso con la API de carga de recursos modulares :

 MyClass.class.getModule().getResourceAsStream("mod/foo/images/my_image.jpg")

De esa manera, el recurso solo se podría cargar por código en el mismo módulo ( mod.foo , siempre que lo coloque en la ruta del módulo), además de evitar cualquier ambigüedad con los nombres de los recursos.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda