maven shade插件正在创build一个名为dependency-reduced-pom.xml的文件,还有一个artifactname-shaded.jar文件 ,并将它们放在基本目录中。 这是一个错误? 应该在目标目录中。 任何解决方法?
我发现在某人的pom.xml中使用了maven-shade-plugin。 我以前从来没有使用maven-shade-plugin(我是maven n00b),所以我试图理解使用它的原因以及它的作用。 我看了一下maven文档 ,但是我不明白这个说法:“这个插件提供了将工件打包在一个超级jar文件中的function,包括它的依赖关系,以及对一些依赖关系的包进行遮罩 – 即重命名。 “ 该页面上的文档似乎不是新手友好的。 什么是“超级jar子”? 为什么有人想要做一个? 重命名依赖关系的包有什么意义? 我试图通过maven-shade-plugin apache页面上的例子,例如“为Uber Jarselect内容”,但是我仍然不明白“阴影”是如何实现的。 任何指向示例/用例的指针(解释为什么在这种情况下需要着色 – 解决什么问题)将不胜感激。 最后,我应该什么时候使用maven-shade-plugin?
我得到了下面的exception,当我运行我的mvn install.I甚至删除了本地仓库,并再次运行得到相同的exception。 [错误]无法执行目标org.apache.maven.plugins:maven-shade-plugin:2.1:阴影(默认)在项目cores-batch:创build阴影jar时出错:无效的LOC头(坏签名) – > [Help 1 ] <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.1</version> <configuration> <skipTests>true</skipTests> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <artifactSet> <excludes> <exclude>commons-logging:commons-logging:jar:*</exclude> </excludes> </artifactSet> <filters> <filter> <artifact>*:*</artifact> <excludes> <!– workaround for a spring issues –> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> <!– don't want to pick up any other log4j.xml –> <exclude>log4j.xml</exclude> </excludes> </filter> </filters> […]