这应该是很容易的,但我遇到了奇怪的行为从maven安装插件。
我需要重新包装一些常见的依赖到我的项目,以避免依赖冲突。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<id>do_shade</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
<shadedArtifactAttached>false</shadedArtifactAttached>
<createSourcesJar>true</createSourcesJar>
<relocations>
<relocation>
<pattern>com.google.common</pattern>
<shadedPattern>com.myproject.google.common</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons</pattern>
<shadedPattern>com.myproject.commons</shadedPattern>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>
阴影插件正确地完成了它的工作,并产生了阴影工件com.myproject-myproject. jar和依赖减少的pom文件。但是然后安装插件安装了原始工件(没有依赖项),而不是阴影。
此外,在安装插件问题之前,我的CI服务器(jenkins)构建了这个项目,并正确地发布了阴影工件和依赖减少pom到nexus存储库(!!)。所以现在我从nexus下载了这个神器,我会在我的本地存储库中有正确的罐子,但是如果我使用安装插件,罐子就不好了。
有没有人有过类似的问题?有人知道如何解决这些问题吗??
为了回答我自己的问题,问题是我后来将依赖项标记为所提供的阴影,以便它们不会被过渡地拉到我的其他项目中。这导致shade插件不将它们包含在shade jar中。
当我清理/安装maven时,我会得到以下错误: 1)org.apache.maven:maven-archiver:jar:2.0.1 尝试从项目网站手动下载该文件。 然后,使用命令进行安装:mvn install:install-file-dgroupid=org.codehaus.plexus-dartifactid=plexus-utils-dversion=1.0.4-dpackaging
问题内容: 如何使用源安装Maven工件? 所以以后我不需要在eclipse中打开项目来查看一些代码。 编辑: 我知道我可以将此代码添加到pom.xml 但我想从命令行执行(使其更通用)。 问题答案: 要下载依赖项的源: 要将源附加到安装: 如maven-source- plugin 页面中所述,最好在pom中使用目标。
无法使用更新站点在RAD 8.5.1中安装Maven。 无法完成安装,因为找不到一个或多个必需项。正在安装的软件:用于Eclipse1.0.0.201的m2e-Maven集成10607-2117(org.eclipse.m2e.feature.feature.group1.0.0.20110607-2117)缺少需求:m2e Marketplace1.0.0.20110607-2117(org.e
问题内容: 我想在Eclipse上安装Maven插件。但是,当在“安装软件”部分中添加Maven站点并开始下载并安装它时,发生了有关依赖项的错误。如何解决?我想要完整的安装指南… 问题答案: 首先,缺少哪些依赖项?eclipse的一个很好的maven插件是eclipse maven声纳类型m2eclipse。
我的问题是maven-shade-plugin似乎在我的项目上运行了两次。 我的父pom文件在这里:http://pastebin.com/EsYaCbzJ(在这里发布太长了) 该项目的pom(好吧,在这种情况下是模块)给我带来麻烦在这里:http://pastebin.com/jdyGXGpL 我正在尝试在 MySQL jdbc 驱动程序中着色。 这是我希望使用的pom.xml代码块。 现在,当
我尝试在工件名称中包含git提交哈希,以区分CI场景中的快照版本。git散列成功地包含在我的项目的目标/文件夹中,但是在最后一个maven步骤中,它将工件复制到我的HOME/. m2/repository文件夹中,并将名称更改为ARTIFACTID-VERSION-mta.jar. 我怎么能保持文件名从目标/文件夹,包括提交哈希? 我查看了maven安装插件,但找不到“finalName”属性或类