两个Maven基础/要求和第一个项目问题

时间:2015-10-07 09:14:06

标签: java maven

我想使用Maven构建我的下一个Java项目。 所以在开始之前我对Maven有一些疑问。

  1. 是否需要安装Maven?或者可以将Maven二进制文件复制到系统(Windows)并以相同的方式使用。

  2. 需要设置Maven项目吗? 从Maven教程我已经看到,Maven的第一步是设置这样的Maven项目:

    mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

  3. 为什么?当我只想编译一些Java文件并包含一些罐子时,写POM文件是不够的?

3 个答案:

答案 0 :(得分:2)

  
      
  1. 是否需要安装Maven?或者可以将Maven二进制文件复制到系统(窗口)并以相同的方式使用。
  2.   

Maven捆绑为zip存档that you just need to unzip。然后,您需要将bin目录添加到PATH环境变量中,您可以继续使用。

  
      
  1. 需要设置Maven项目吗?从Maven教程我看到,Maven的第一步是设置一个像这样的Maven项目:

    mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    
  2.   

有多种方法可以创建Maven项目。但是,重要的是要记住,Maven项目只能归结为只有一个pom.xml文件。该文件将位于项目的根目录中。所以当你说“编写一个POM文件就足够了”时,你是对的。

现在,由于Maven是一个在convention-over-configuration principle下构建的工具,因此创建了几个实用程序来帮助遵守Maven的基本约定。其中一个实用程序是maven-archetype-plugin,它由mvn archetype:generate调用调用。此实用程序将与standard directory layout一起创建基本的pom.xml文件。

如果您使用的是IDE,您还可以使用此IDE的相应Maven插件创建Maven项目(例如,对于Eclipse,这是M2Eclipse插件)。

答案 1 :(得分:2)

问题1(安装):

好吧,它主要是复制,添加到路径,然后运行。

然而,在现实世界中,还有更多。例如, - 在公司中,您可能希望拥有公司中央存储库代理。您需要在HOME/.m2/settings.xmlMVN_DIR/conf/settings.xml中进行额外设置(希望我记得正确的路径:P)

  • 在某些情况下,您可能希望将本地存储库放在不同的目录中,您还需要更改settings.xml

  • 为了构建大型项目,您可能需要调整M2_OPTS环境变量。

  • 等...

所有这些都是您可能需要的额外手动安装工作(虽然不难)

问题2(原型):

你其实是对的。您可以简单地编写自己的pom.xml并忘记原型(这也是我过去所做的:)。您可以将Archetype视为一些模板项目生成功能,以便您可以生成一些预定义的项目类型,并且POM中必需的项目目录结构,所需的依赖项和设置都已完成。当然,您甚至可以提供自己的原型,因此贵公司的新项目可以利用它们来符合您想要的指南或标准。

答案 2 :(得分:1)

回答第1个问题:
Maven以分布式二进制格式提供。您只需下载它并在本地计算机中提取它。然后,您必须创建一个名为M2_HOME的用户变量(有时需要M2_OPTS)并将其添加到PATH变量。这就是您建立基本需求所需的全部内容 如果您的系统位于某个代理网络内,则必须执行一个其他设置。这是复制下载文件中可用的secuirity xml,并根据您的网络修改其中的元素值。
回答第1个问题:
第一次需要使用您指定的命令。获得文件结构后,您可以根据需要重复使用它。 但请记住遵循预定义的文件结构,否则您肯定会遇到麻烦。

但是,始终建议使用maven命令创建项目,因为如果您选择手动创建项目,则可能需要手动执行许多操作。