【问题标题】:maven deploy: how to restrict to deploy only the artifacts? (multi-module environment)maven deploy:如何限制只部署工件? (多模块环境)
【发布时间】:2023-03-11 18:46:01
【问题描述】:

我有一个包含两个模块的项目:客户端和服务器。在父 pom.xml 中我添加了部署阶段的信息,以便部署到本地目录:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.my</groupId>
  <artifactId>myTest</artifactId>
  <version>0.1</version>
  <packaging>pom</packaging>
  <name>myTest</name>
  <modules>
    <module>server</module>
    <module>client</module>
  </modules>

<!-- for: mvn deploy -->
<distributionManagement>
    <repository> 
        <id> myRepo </id>
        <url> file:myDeployDir </url>
    </repository>
</distributionManagement>

</project>

当我运行 mvn deploy 时,不仅 server-0.1.jar 和 client-0.1.jar 被复制到 myDeploy,而且总共有 33 个(!)文件:*pom *sha1 *md5 *xml for pom, metadata和罐子。

如何设置只复制 server-0.1.jar 和 client-0.1.jar?

谢谢!

【问题讨论】:

  • 嗯,可以,但不推荐。你为什么要这样做?
  • 您正在将工件部署到存储库,这意味着在 Maven 中具有工件(.jar、.pom、.sha1、.md5 等)。此外,我建议使用存储库管理器而不是文件系统。如果你喜欢只有罐子,你需要用不同的方式来做。
  • @AndrewLogvinov 也许我误解了“部署”阶段的实际含义。我认为部署是将最终工件(仅 .jar)放入最终用户将使用的位置。 IE。如果我开发了一个新的 unix 命令,然后通过部署它,我理解将 only 可执行文件复制到(比如说)/usr/local/bin
  • 如果您只想将一些工件复制到 file:myDeployDir,那么您可以选择组装插件。它还用于捆绑可交付成果。或者是 file:myDeployDir 一些 Tomcat/webapps 文件夹,你尝试部署应用程序?
  • 那么这篇文章stackoverflow.com/questions/586202/… 可能会有所帮助:)

标签: maven deployment


【解决方案1】:

使用maven deploy-file

deploy:deploy-file 用于安装单个工件及其 庞。在这种情况下,工件信息可以从 可选地指定 pomFile,但可以使用 命令行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    相关资源
    最近更新 更多