我试图从Spring Boot运行Hello World示例。当我在模块上运行“ mvn package”时,出现以下错误:
[错误]无法在项目spring.boot上执行目标org.apache.maven.plugins:maven-shade- plugin:2.1:shade(默认):无法解析mojo org.apache.maven.plugins:maven->的配置shade-> plugin:2.1:用于参数转换器的阴影:在org.apache.maven.plugins.shade.resource.ManifestResourceTransformer中找不到“资源”的设置器,加法器或字段-> [帮助1]
我没有使用任何’resource’属性,但似乎对此有所抱怨。知道我在这里做错了吗
这是该模块的pom:-
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.springframework</groupId> <artifactId>spring.boot</artifactId> <version>0.1.0</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.0.1.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <manifestEntries> <Main-Class>hello.SampleController</Main-Class> </manifestEntries> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
您可以尝试的第一件事是不使用shade插件(这通常是spring-boot插件的劣等解决方案)。spring- boot插件应该是您在spring.io的所有示例和指南中找到的插件。使用入门级父代时,这很简单:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
父级已经有一个配置ManifestResourceTransformer,所以我认为这就是问题所在。如果您删除<executions/>并设置了一个属性,start- class则它应该可以工作。
ManifestResourceTransformer
<executions/>
start- class
如果出于某种原因需要使用shade并希望控制配置,则不要将starter- parent用作父项(也许只是将其用于依赖项管理)。