如何使用现有的pom.xml将第三方文件发布到远程maven仓库?

我有一些第三方jar子,我想上传到我的nexus maven repo,到目前为止,我已经找到了两种方法。

  • 使用Nexus GUI
  • 使用http://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html上的说明
mvn deploy:deploy-file -DgroupId= \ -DartifactId= \ -Dversion= \ -Dpackaging= \ -Dfile= \ -DrepositoryId= \ -Durl= 

我期待第三方库经常更新,当有安全更新/发布时,可能会更频繁地说四分之一。

上面两种方法都是手动的,你必须输入一个长命令或点击它来实现它。 我更喜欢一个不是特定产品或需要冗长命令行选项的简单解决方案。

是否可以编写maven pom.xml,只需通过mvn deploy发布第三方.tar.gz即可

我正在使用maven 3.0.5

更新根据下面的radai答案为我工作的示例pom.xml。

我们在这里有一个类似的需求,保持非maven工件的标签,并在我们的nexus中更新它们。

我们这样做的方法是在版本控制中有一个“第三方”项目,它存储非maven工件,每个工件都有自己的pom文件。

当您升级任何第三方时,您将覆盖第三方项目中的旧第三方,将相关pom文件中的版本打包并运行"mvn deploy"将其放入我们的存储库。

一个pom文件的“构建”,导致* .tar.gz将有一个像这样的pom:

   4.0.0 myArtifact pom          org.apache.maven.plugins maven-resources-plugin   copy static resource files  resources  generate-sources      org.apache.maven.plugins maven-assembly-plugin   Create final ZIP package package  single   true  platform-assembly.xml         

在它旁边有一个seembly描述符:这个包装了一堆东西* .tar.gz,保留* .sh文件的可执行标志。 您需要进行编辑以满足您的需求

  ${envClassifier}  tar.gz  false   yourTargetDir /  **/*.sh    yourTargetDir /  **/*.sh  755    

编辑:如果您不需要提取/混乱/ .tar.gz工件,您有一个更简单的选项 – 使用构建帮助器maven插件的附加工件目标只需附加您的* .tar.gz以包含在部署/安装

你显然需要更新依赖于这个新工件版本的所有步骤。

这是我用来解决我的问题的pom.xml,它基于radai建议使用build helper插件

  4.0.0 com.example.thirdparty server-jre 7.25 pom   thirdparty http://localhost:8082/nexus/content/repositories/thirdparty/      org.codehaus.mojo build-helper-maven-plugin 1.8   attach-artifacts package  attach-artifact     files/server-jre-7u25-linux-x64.tar.gz tar.gz linux-x64