agregando recursos en intellij para proyecto java

Tengo una estructura de proyecto como esta:

src |-main |-java |-com.abc.xyz |-Login.java 

Tengo que agregar un archivo de recursos a esto y leer el recurso con

 nputStream is = getClass().getResourceAsStream("launchers.properties"); 

Esto está dando nulo.

En intellij no puedo agregar un nuevo paquete en src / main para resources carpeta de resources para que la estructura del proyecto se vea así. ¿Cómo puedo el archivo de recursos launchers.properties en el proyecto?

 src |-main |-java |-com.abc.xyz |-Login.java |-resources |-com.abc.xyz |-Login |-launcher.properties 

Intenté la solución sugerida por @maba pero todavía no funcionaba

launcher.properties no debe estar bajo una carpeta llamada Login . Debe colocarse directamente en la carpeta src/main/resources/com/abc/xyz .


Es realmente tan simple como dije, pero si la carpeta de recursos no está marcada como una carpeta de fonts, entonces este puede ser el problema.

Esta es la clase inicial y la configuración:

enter image description here

Ahora crea la carpeta de recursos:

enter image description here

enter image description here

Esta carpeta recién creada debe marcarse automáticamente como carpeta de fonts y si está marcada en color azul, entonces sí lo está. De lo contrario, deberás marcarlo manualmente:

enter image description here

Ahora podrá agregarle paquetes:

enter image description here

enter image description here

Y ahora puedes agregarle el archivo:

enter image description here

enter image description here

Y volver a ejecutar la aplicación no le devolverá ningún valor null :

enter image description here

Y la vista del paquete seguramente mostrará el archivo launchers.properties también:

enter image description here

Como señaló @maba, su archivo de propiedades debe estar en el mismo paquete que su clase para que funcione su código.

Entonces, deberías tener dos archivos:

  • src / main / java / com / abc / xyz / Login.java
  • src / main / resources / com / abc / xyz / launcher.properties

Si IntelliJ muestra el recurso o no, está al lado de la pregunta. Lo que debe hacer es verificar si los resultados están incluidos en su artefacto objective.

Haga una build all en IntelliJ, abra WAR / JAR / EAR resultante con su visor ZIP favorito y busque en la carpeta “com / abc / xyz”. Debería ver ambos archivos allí.

  • Si lo son, estás haciendo algo mal en tu código. Compruebe los errores tipográficos, especialmente los puntos y espacios al final o al principio (por ejemplo, “launcher.properties [espacio]”), copie / pegue el nombre del archivo para asegurarse
  • Si no están allí, su configuración de IntelliJ es incorrecta. Los recursos no se incluyen en tu comstackción de destino. Consulte en línea los tutoriales sobre cómo hacer esto con la idea de IntelliJ.