2015-10-07 57 views
0

我想使用Maven构建我的下一个Java项目。 所以我有一些关于Maven的问题,然后马上开始。两个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

这是为什么?编写一个POM文件不够,当我只想编译一些Java文件并包含一些jar文件时?

+2

Maven可以通过简单的解压缩包来安装,并将bin文件夹放在'PATH'上。 “mvn archetype:generate”所做的就是创建一个项目结构以及pom.xml。我通常通过IDE新项目和maven项目创建一个maven项目,这使您有机会选择代作为过程的一个步骤。 – hotzst

回答

2

问题1(安装):

那么它大多是简单的拷贝,添加到路径,并运行。

但是在现实世界中还有一点不止于此。例如, - 在一家公司中,您可能希望拥有公司中央存储库代理。你需要做一些额外的设置在任何HOME/.m2/settings.xmlMVN_DIR/conf/settings.xml(祝我记得正确的路径:P)

  • 您可能希望把本地资源库在某些情况下,不同的目录,你还需要更改settings.xml

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

  • 等等

所有这些都是你需要(尽管不是很难)额外的手动安装工作

问题2(原型):

你是其实是对的。你可以简单地编写你自己的pom.xml,忘记原型(这也是我以前的工作:))。您可以将Archetype视为一些模板项目生成功能,以便您可以生成一些预定义的项目类型,并且POM中的基本项目目录结构,所需的依赖关系和设置均可为您完成。当然,你甚至可以提供你自己的原型,这样你公司的新项目就可以利用它们来符合你想要的准则或标准。

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

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 
    

有多种方式来创建一个Maven项目。然而,重要的是要记住,一个Maven项目只能归结为一个pom.xml文件。该文件将位于您的项目的根目录下。所以你说得对,“写POM文件就够了”。

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

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

1

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

但是,使用maven命令创建项目总是可取的,因为它会为您做很多事情,如果您选择手动创建Maven项目,您可能必须手动执行这些操作。