(1)在大多数情况下,把项目的主代码放到 src/main/java 目录下(遵循Maven约定),如果没有其他的配置,Maven在运行时将自动搜寻该目录下的主代码。
(2)为了使项目的结构保持清晰,所以IDEA自动创建了 test 文件,将主代码和测试代码分别放到了独立的目录中。
(3)pom.xml为Maven的核心配置文件,它的全称为(Project Object Model,项目对象模型),我们在使用Maven的时候也通常在这个pom .xml 中配置。
4.0.0
com.feiyu.web
hello-world
1.0-SNAPSHOT
(一)第一行是xml头,指定了xml文档的版本信息和编码方式,目前version的默认版本号为 1.0 编码方式为 UTF-8。
(二)为所有pom.xml的根元素,声明了一些POM相关的命名空间及xsd元素,这些元素不是pom.xml中必须添加的,但是使用这些属性可以使第三方工具,如IDE中的xml编辑器帮助开发者快速编辑POM。
(三)根元素下第一个子元素 指定了当前POM模板的版本,对于现在大多数开发者而言,Maven 2 Maven 3
这个版本号只能为4.0.0。
(四) 定义了该项目属于哪个项目组,在企业级开发中,通常和该项目所属的组织和公司有关。比如:BATcode上有一个名为ourApp的项目,这样一来groupId的名字就应该是com.BATcode.ourApp。本文中的代码都为com.feiyu.helloMaven。
(五)定义了当前Maven项目在项目组的唯一一个ID,本文中 Hello MavenartifactId为hello-Maven,在实际开发中会分配其他的 artifactId ,而之前的 groupId ,可能会为不同的子项目(模块)分配artifactId。
(六)定义了Hello Maven项目当前的版本号1.0-SNAPSHOT为IDEA默认的初始版本号,随着项目的开发进度,版本号升级为1.1 、2.0 等。
(七)在没有实际的java代码时,我们就可以完整的创建一个Maven项目的pom.xml,这说明了Maven可以使项目对象模型最大程度的与代码相独立,这充分体现了解耦的原则和理念!为开发者节省了时间,大大缩短了项目开发周期。在项目开发到稳定期时,升级版本时,开发者可以不需要修改实际的 java 代码,而是只修改pom.xml,这一特点使Maven被广泛的使用。
项目主代码和测试代码不同,主代码会被打包到最终的构件中,而测试代码只在运行测试时用到,不会被打包。我们在src/main/java中创建文件com/feiyu/web/helloworld/helloWorld.java,代码如下:
package com.feiyu.web.helloworld;
public class HelloWorld {
public String sayHello() {
return "Hello Maven!";
}
public static void main(String[] args) {
System.out.println(new HelloWorld().sayHello());
}
}
一般来说pom.xml中定义的groupId和artifactId要与包名相匹配,这样可以使结构更加清晰。
在控制台中我们看到运行成功,输出了Hello Maven!