Eclipse 创建Maven形式的Java项目
1、 新建一个Maven项目
参数解释:
- archetype:Maven工程的模板工具包,它定义了要做的相同类型事情的初始样式或模型,它会帮用户创建Maven工程模板,并给用户提供生成相关工程模板版本的参数化方法。因为不同类型的项目的结构组织不一样,所以maven针对不同类型的项目提供了不同的模板。这些模板包含了一些最佳实践,可以使我们在构建项目的时候节约不少时间。比如说,需要创建一个普通的console应用,那么它的结构模板必然是一种样式,而如果要构建一个JavaEE的项目,它的结构则不一样。常用的Archetype:
- maven-archetype-quickstart:默认的Archetype,基本内容包括: 一个包含junit依赖声明的pom.xml src/main/java主代码目录及一个名为App的类 src/test/java测试代码目录及一个名为AppTest的测试用例
- 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文件
- archetypeArtifactId: 用来定义区分不同的archetype。比如说maven-archetype-quickstart表示的是一个创建的普通maven工程。针对不同类型的工程,可以在maven的官网上查找对应的类型,也可以在通过IDE创建工程的时候去筛选 。
- groupId:所创建的项目里的最高层的包的命名。
- artifactId:表示生成的包的名字。将一个项目编译后打包的时候,需要确定一个打包名字并部署到实际测试或者生产环境中,所以在这个地方来确定最后包的名字。
pom.xml代码:
MavenDemo
com.hc
1.0-SNAPSHOT
4.0.0
JavaMavenDemo
jar
JavaMavenDemo
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
说明:
:表示版本号,比如我们常用的RC, alpha, beta, SNAPSHOT。在这里SNAPSHOT表示当前项目处在一个开发的阶段。当一个工程使用SNAPSHOT的依赖时,Maven会每次去获取最新的SNAPSHOT版本。
:表示对于这个工程,需要创建一个JAR包。
:用来定义一些自定义的变量,方便他们重用。
:一个dependency里面指定一个组件的groupId, artifactId和version。一般如果我们知道需要使用哪些组件的话,可以去:http://search.maven.org/来搜索需要的组件,在那里可以将需要的maven依赖定义信息直接拷过来。