应该将mvnw文件添加到存储库中吗?
问题描述:
答
A mvnw
Maven包装脚本允许您在未安装Maven的情况下运行Maven命令并将其显示在PATH上。它通过在你的PATH上寻找Maven来实现,如果没有找到它,它将它下载并安装到默认位置(你的用户主目录,IIRC)。
它们很方便,但它们不一定是您项目的一部分,与您的项目代码和配置不一样。换句话说:
- 任何给定的
mnvw
文件可用于多个不相关的项目 - 一个
mvn
文件将几乎肯定不会是不同项目的一个版本到另一个
在此基础上,你可以作出一个案例不承诺mvnw
到您的代码库。
然而,包括在你的回购一mvnw
脚本确实有这些好处:
- 允许任何人谁克隆/检查出你的回购协议,以建立自己的项目,而不需要首先安装Maven。
- 确保正在使用的Maven版本是与您的项目兼容的版本。
在此基础上,你都可以成为的情况下犯mvnw
你的代码库。
所以,双方都有优点和缺点。只要选择最适合那些将使用您的回购的人的需求的一面。或者:
- 在您的自述文件中加入一些内容,明确指出(a)Maven是必备条件,(b)需要哪个版本的Maven。
...或:
- 包括一个
mvnw
脚本。
答
这取决于,如果你想使用Maven包装或不。如果不是,那么你可以删除这些文件。如果你想使用它,那么你必须提交存储库中的文件,否则使用它是没有意义的。