Jar ejecutable no puede localizar recursos empaquetados

Tengo el siguiente código para leer el archivo de los recursos:

randomFirstName = rReader.generate(
new FileReader(classLoader.getResource("NamesFem.txt").getFile()));

Funciona bien cuando lo ejecuto desde IDEA.

Necesito poner el proyecto en jar ejecutable con maven. Esa es mi pom.xmlconfiguración para el complemento de ensamblaje:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>com.myPackage.CreateXlsFile</mainClass>
                            </manifest>
                        </archive>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                </execution>
            </executions>
        </plugin>

Cuando intento ejecutar jar empaquetado, aparece la siguiente excepción: Exception in thread "main" java.io.FileNotFoundException: file:/Users/myUser/MyProject/target/my-project-1.0-SNAPSHOT-jar-with-dependencies.jar!/NamesFem.txt (No such file or directory)

Cuando desempaquete manualmente el jar, todos los archivos estarán allí en el directorio raíz del jar:

ingrese la descripción de la imagen aquí

Que pasa

Respuesta 1

Cuando ejecuto mvn hibernate3: hbm2cfgxml no genera el archivo hibernate.cfg.xml. Sin embargo, genera pojos y daos pero no genera el archivo hibernate.cfg.xml. El siguiente es mi pom.xml. <...

Creo que el siguiente código de Java causaría un RuntimeError (técnicamente hablando) porque hace referencia a algo inexistente (muy parecido al acceso al octavo elemento en una matriz de tamaño 5) ...

He estado haciendo algo de codificación con String en Java8, Java 11, pero esta pregunta se basa en Java 8. Tengo este pequeño fragmento. final char e = (char) 200; // È Solo pensé que los caracteres entre 0.255 [...

Estoy creando una aplicación que, entre otras cosas, permite al usuario insertar un texto en un PDF, usando una capa. La posición del texto en la página PDF se puede establecer usando la aplicación, que representa el PDF usando ...