什么是maven settings.xml文件以及它与pom.xml的不同之处

时间:2013-10-26 06:21:06

标签: java android maven maven-2 maven-3

我正在构建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有何不同?

谢谢你, 艾伦

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:2)

我可以想象文字有点令人困惑。

settings.xml包含系统和/或用户配置,而pom.xml包含项目信息。所有构建配置最终都在pom.xml中。但是,您无法预测andriod仿真器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>