小编Ans*_*uli的帖子

将 SpringBoot 配置添加为 <dependencyManagement> 标签时如何使用 maven-shade-plugin 的“PropertiesMergingResourceTransformer”

我正在使用 maven-shade-plugin 和 Sprint Boot。我将 spring-boot 依赖项定义为:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.0.2.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)

我已经在 pom.xml 的标签中定义了项目特定的 uber-pom <parent>,因此无法spring-boot-starter-parent<parent>标签中使用。

现在,当我这样做时mvn clean install,我得到以下异常:

`[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.1:shade (default) on project myapp: Unable to parse configuration of mojo org.apache.maven.plugins:maven-shade-plugin:3.1.1:shade for parameter transformers: Cannot load implementation hint 'org.springframework.boot.maven.PropertiesMergingResourceTransformer'`, 
Run Code Online (Sandbox Code Playgroud)

PropertiesMergingResourceTransformer这清楚地表明无法找到实施。如果我使用标签中定义的 Spring-boot 配置<parent>,它工作得很好。

但是,如果我完全删除PropertiesMergingResourceTransformermaven-shade-plugin 配置中的配置,则无法执行捆绑的 jar,并给出如下异常:

`java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are …
Run Code Online (Sandbox Code Playgroud)

java spring maven maven-shade-plugin spring-boot

2
推荐指数
1
解决办法
5744
查看次数

标签 统计

java ×1

maven ×1

maven-shade-plugin ×1

spring ×1

spring-boot ×1