1、maven下载 地址:http://maven.apache.org/download.cgi
2、解压并配置settings.xml文件
3、Eclipse配置
4、访问中央仓库地址:https://mvnrepository.com
5.新建Maven项目
点击【next】
选maven-archetype-quickstart后,next
小插曲: 原址:https://www.cnblogs.com/LinkinPark/p/5232995.html
Archetype,骨架的意思。
Archetype是什么?
简单的说,Archetype是Maven工程的模板工具包。一个Archetype定义了要做的相同类型事情的初始样式或模型。这个名称给我们提供来了一个一致的生成Maven工程的方式。Archetype会帮助作者给用户创建Maven工程模板,并给用户提供生成相关工程模板版本的参数化方法。
使用Archetype提供的好的方法,是开发者能够使用最佳实践来快速的构建和组织一致化的工程。在Maven工程中,我们努力使用Archetype来尽可能快的给用户提供示例工程,同时也会把Maven的最佳实践介绍给新的用户。一个新的用户可以使用工作中的Maven工作作为跳板来研究更过的Maven中功能。我们也可以使用Archetype的添加机制,这样就意味着允许我们抓取Archetype中项目片段,并把它们添加到既存的工程中。Maven网站的Archetype就是很好的例子。例如,你可以使用“quick start archetype”来生成一个工程,然后就可以通过其中既存的“site archetype”来快速的创建一个网址工程。你能够使用Archetype来做很多这样的事情。
在你的团队中可能想要标准化的J2EE开发,这需要你提供EJBs、或者是WARs、或者是Web services的原型。一旦在你团队资源库中创建和部署这些原型,它们就可以在你团队内共享使用。
如何使用Archetype
要基于Archetype来创建一个新的工程,需要像下面示例这样来调用:
mvn archetype:generate
已有的Archetypes
Archetype ID |
说明 |
maven-archetype-archetype |
一个样例原型 |
maven-archetype-j2ee-simple |
简单的J2EE应用程序样例 |
maven-archetype-mojo |
Maven插件样本的示例 |
maven-archetype-plugin |
Maven插件样本 |
maven-archetype-plugin-site |
Mave插件网站的样例 |
maven-archetype-portlet |
JSR-268门户样例 |
maven-archetype-quickstart |
Maven工程样例 |
maven-archetype-simple |
一个简单的Maven工程 |
maven-archetype-site |
Maven网站的样例,它演示了对诸如APT、XDoc和FML等文档类型的支持,并演示了如果把网站国际化(i18n) |
maven-archetype-site-simple |
Maven网站样例 |
maven-archetype-webapp |
Maven的Webapp工程样例 |
- 常用Archetype
1. maven-archetype-quickstart
默认的Archetype,基本内容包括:
一个包含junit依赖声明的pom.xml
src/main/java主代码目录及一个名为App的类
src/test/java测试代码目录及一个名为AppTest的测试用例
2. maven-archetype-webapp
一个最简单的Maven war项目模板,当需要快速创建一个Web应用的时候可以使用它。生成的项目内容包括:
一个packaging为war且带有junit依赖声明的pom.xml
src/main/webapp/目录
src/main/webapp/index.jsp文件
src/main/webapp/WEB-INF/web.xml文件
小小插曲:
groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
比如我创建一个项目,我一般会将groupId设置为cn.xiaobing,cn表示域为中国,xiaobing是我个人姓名,artifactId设置为api_methods,表示你这个项目的名称是api_methods,依照这个设置,你的包结构最好是cn.xiaobing.api_methods打头的,如果有个Student类,它的全路径就是cn.xiaobing.api_methods.Student
点击Finish完成创建:
6.项目配置
(1) 添加Source Folder
Maven规定,必须创建以下几个Source Folder
src/main/resources
src/main/java
src/test/resources
src/test/java
添加以上的Source Folder
创建好后的目录如下:
(2) 配置配置Build Path
设定4个文件夹的输出Output folder,双击修改分别修改输出路径为
src/main/resources 对应 target/classes
src/main/java 对应 target/classes
src/test/resources 对应 target/test-classes
src/test/java 对应 target/test-classes
(3) 设定Libraries
配置完Build Path后目录如下:
7.如需导入项目依赖如:fastjson
拷贝到pom.xml文件中,保存即可!
使用maven是为了更好的帮项目管理包依赖,maven的核心就是pom.xml。当我们需要引入一个jar包时,在pom文件中加上<dependency></dependency>就可以从仓库中依赖到相应的jar包。 现在有这样一个场景,有两个web项目A、B,一个java项目C,它们都需要用到同一个jar包:common.jar。如果分别在三个项目的pom文件中定义各自对common.jar的依赖,那么当common.jar的版本发生变化时,三个项目的pom文件都要改,项目越多要改的地方就越多,很麻烦。这时候就需要用到parent标签, 我们创建一个parent项目,打包类型为pom,parent项目中不存放任何代码,只是管理多个项目之间公共的依赖。在parent项目的pom文件中定义对common.jar的依赖,ABC三个子项目中只需要定义<parent></parent>,parent标签中写上parent项目的pom坐标就可以引用到common.jar了。 上面的问题解决了,我们在切换一个场景,有一个springmvc.jar,只有AB两个web项目需要,C项目是java项目不需要,那么又要怎么去依赖。如果AB中分别定义对springmvc.jar的依赖,当springmvc.jar版本变化时修改起来又会很麻烦。解决办法是在parent项目的pom文件中使用<dependencyManagement></dependencyManagement>将springmvc.jar管理起来,如果有哪个子项目要用,那么子项目在自己的pom文件中使用 <dependency> <groupId></groupId> <artifactId></artifactId> </dependency> 标签中写上springmvc.jar的坐标,不需要写版本号,可以依赖到这个jar包了。这样springmvc.jar的版本发生变化时只需要修改parent中的版本就可以了。 --------------------- 原文https://blog.csdn.net/qq_41254677/article/details/81011681
8.总结:不足之处后续修改补充,分享给需要的人!