什么是maven settings.xml文件,它和pom.xml有什么不同?

8

我正在构建一个Android Maven项目,并学习如何在Android应用程序开发中设置和利用Maven。

当我阅读一些文档时(http://books.sonatype.com/mvnref-book/reference/android-dev-sect-config.html),它提到我们可以在settings.xml文件中配置Maven插件,也可以将配置放入pom.xml文件中。

我有点困惑这两个文件的用法。我需要在Maven项目中有settings.xml吗?Settings.xmlpom.xml有什么不同?

谢谢, Allan

2个回答

10

settings.xml是您的用户首选项。它位于您的主Maven目录中(通常是$HOME/.m2),保存您自己的设置,如非公共存储库的列表、用户名和其他个性化配置。

pom.xml是每个Maven项目或模块的控制文件。它告诉Maven项目需要哪些依赖项,要对其应用什么处理,以及在准备就绪时如何打包它。POM是项目本身的一部分,因此构建项目所必需的信息(例如列出在构建时使用哪些插件)应该放在那里。


3
我可以想象这段文字有点令人困惑。 settings.xml 包含系统和/或用户配置,而 pom.xml 包含项目信息。所有构建配置最终都会出现在 pom.xml 中。然而,你无法预测 Android 模拟器 AVD,因为它取决于你运行此项目的系统。所以这是一个你无法在 pom.xml 中设置的属性。对于这些类型的事情,你可以使用 settings.xml
一个例子如下:
<settings>
  <profiles>
    <profile>
      <id>android</id>
      <properties>
        <android.emulator.avd>21</android.emulator.avd>
      <properties>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>android</activeProfile>
  </activeProfiles>
</settings> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接