![](/img/trans.png)
[英]resources in a Spring Boot application are missing from jar file when using Spring Boot Maven Plugin
[英]cannot get resources folder into jar when using spring boot maven plugin
我試圖建立一個可以通過spring boot運行的可執行jar,但是我無法將spring xml從resources文件夾中獲取到jar中。 看來我的outputDirectory是錯誤的。 定義它以便將其包裝在罐中的正確方法是什么?
這是我的pom文件
<build>
<resources>
<resource>
<directory>${basedir}/src/main/resources/my-resources</directory>
<includes>
<include>*xml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>netexchange.exchange.main.ExchangeMain</mainClass>
</manifest>
</archive>
<outputDirectory>${basedir}/target</outputDirectory>
<finalName>Matcher-with-config</finalName>
<addResources>true</addResources>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<defaultGoal>install</defaultGoal>
<directory>${basedir}/target</directory>
</build>
所以我想出了一個解決方案,將有問題的特定資源復制到文件夾“ src / main / resources”中。 Spring Boot構建會自動包含該文件夾中的所有文件,然后您可以使用批注“ @ImportResource({“ classpath:config.xml”})“導入它們。
我更新的pom看起來像這樣:
<build>
<resources>
<resource>
<directory>${basedir}/src/main/resources/bitcoin-ethereum</directory>
<includes>
<include>*xml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>compile</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/src/main/resources</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/resources/matcher</directory>
<includes>
<include>*xml</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources/common</directory>
<includes>
<include>*xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>netexchange.exchange.main.ExchangeMain</mainClass>
</manifest>
</archive>
<outputDirectory>${basedir}/target</outputDirectory>
<finalName>Matcher</finalName>
<addResources>true</addResources>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<defaultGoal>install</defaultGoal>
<directory>${basedir}/target</directory>
</build>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.