maven打包去除dependency-reduced-pom.xml文件
标签 #maven 场景 工作 时间 2023年2月14日17:58:09 一、问题描述 每次打包的时候,项目目录会多出一个莫名的文件dependency-reduced-pom.xml 二、导致原因 maven打包插件maven-shade-plugin打包时自动生成,createDependencyReducedPom默认为true。 dependency-reduced-pom.xml 删除了已经在你的着色 jar 中的传递依赖项。这可以防止消费者两次拉他们,从而避免无用的重复。 三、解决方案 添加以下配置 <configuration> <createDependencyReducedPom>false</createDependencyReducedPom> </configuration> 如: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.1.1</version> <configuration> <createDependencyReducedPom>false</createDependencyReducedPom> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <artifactSet> <excludes> <exclude>org.slf4j:*</exclude> <exclude>log4j:*</exclude> <exclude>ch.qos.logback:*</exclude> <exclude>com.google.code.findbugs:jsr305</exclude> </excludes> </artifactSet> <filters> <filter> <!-- Do not copy the signatures in the META-INF folder. Otherwise, this might cause SecurityExceptions when using the JAR. --> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <!-- Replace this with the main class of your job --> <mainClass>my.programs.main.clazz</mainClass> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> </transformers> </configuration> </execution> </executions> </plugin>