Recurso Spring-Boot não encontrado ao usar Jar executável

novamente, enfrento um problema estranho e espero que alguém aqui possa ajudar.

Eu tenho um módulo de back-end de inicialização de primavera, o que funciona bem no eclipse e o aplicativo é executável ao iniciar main no application.java. Tudo bem.

Meu aplicativo faz a importação de dados de exemplo para o banco de dados usando arquivos csv, incluídos na pasta src / main / resources. Como mencionado, ao iniciar no eclipse tudo funciona.

Agora eu gostaria de executá-lo como jar executável, o aplicativo começa a ser iniciado e falhou ao iniciar, porque não consegue encontrar os arquivos csv. O caminho que ele imprime, onde procurou os arquivos, está correto e os arquivos csv estão no jar incluído.

O Pom do módulo tem a seguinte aparência:

<project>
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>at.company.bbsng</groupId>
        <artifactId>bbsng-import</artifactId>
        <version>0.1.0-SNAPSHOT</version>
    </parent>

    <artifactId>bbsng-import-backend</artifactId>
    <name>bbsng-import-backend</name>

    <properties>
        <start-class>at.company.bbsng.dataimport.Application</start-class>
    </properties>


    <dependencies>

        <!-- SPRING ... -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-batch</artifactId>
            <!-- EXCLUDE LOGBACK AND USE LOG4J -->
            <exclusions>
                <exclusion>
                    <artifactId>spring-boot-starter-logging</artifactId>
                    <groupId>org.springframework.boot</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- COMMONS ... -->

        ...

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

O caminho para arquivos csv é configurado nos arquivos de propriedade, da seguinte maneira:

# EXAMPLE PATH
csv.path=config/csv/

A parte do arquivo de configuração java é a seguinte:

  ...

  @Value("${csv.path}")
  private String csvExamplePath;

  @Bean
  public Resource addressResource() {
    return new ClassPathResource(csvExamplePath + CSV_ADDRESS);
  }

    ...

No jar, os arquivos estão localizados no caminho

\config\csv\

Stacktrace:

Caused by: java.io.FileNotFoundException: class path resource [config/csv/Company.csv] cannot be resolved to absolute file path because it does not reside in th
e file system: jar:file:/C:/Development/Projekte/bbsng/trunk/import/backend/target/bbsng-import-backend-0.1.0-SNAPSHOT.jar!/config/csv/Company.csv
        at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:207)
        at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:52)
        at at.compax.bbsng.dataimport.app.source.company.CompanyGenerator.init(CompanyGenerator.java:28)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java

Novamente, o aplicativo funciona conforme o esperado ao iniciá-lo no eclipse, apenas o jar executável reclama da falta de arquivos csv, o que já está no jar.

Qualquer pista seria ótima.

questionAnswers(3)

yourAnswerToTheQuestion