【发布时间】: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