Maven使用入门

Maven 使用入门

 

1. POM 文件

    类似于 Ant 的 build.xml 一样,Maven 项目的核心是 pom.xml。POM(Project

    Object Model,项目对象模型)定义了项目的基本信息,描述项目如何构建、

    声明项目依赖等等。

<project xmlns="http://maven.apache.org/POM/4.0.0" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
		http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.lichee</groupId>
	<artifactId>lichee-core</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>lichee-core</name>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>

 

    a)  project

         所有 pom.xml 的跟元素,声明相关的命名空间及 xsd 元素。

    b)  modelVersion

         指定当前 pom 模型的版本,对于 maven2 及 maven3,都是 4.0.0。

    c)  groupId

         定义项目所属组,往往和项目所在的组织或公司存在关联。简单的理解的话,

         可以理解成 package 的包名前缀,例如:com.lichee。

    d)  artifactId

         定义当前 maven 项目在组中唯一的 ID,简单理解的话,可以理解成项目的子模块,

         例如:lichee-core、lichee-common 等。每个不同的子模块都应该不一样。

    e)  version

         定义项目的版本信息,所有的模块版本信息应该是一样的。

     f)  name

         一个更友好的项目名称,不是必须,但是推荐为每个 POM 声明 name,便于交流。

    g)  packaging

         定义项目打包方式,例如:jar、pom、war。

    h)  properties

         定义项目的常用属性。

     i)  dependencie

         定义项目依赖的位置(坐标的作用)。

 

没有实际的 Java 代码,就可以定义一个 maven 项目的 pom。这体现一个优点,

项目对象模型最大程度的与实际代码相独立,可以称它为解耦或者正交性。很大程度上

避免了 Java 代码和 pom 代码的相互影响,升级时修改 pom 文件,Java 的日常开发

也基本不会涉及 pom 文件修改。

 

2. 项目结构

    Maven 一直保持着约定优于配置的思想,并最大化统一构建的标准化,

    吸收大量项目的经验,促进团队的标准化。

Maven使用入门

    a)  src/main/java

         源代码目录,所有 Java 源代码都在此目录。

    b)  src/main/resources

         资源文件目录,所有相关资源文件都在此目录。

    c)  src/main/webapp

         web 项目目录,所有相关 web 文件都在此目录。

    d)  src/test/java

         测试源代码目录,所有 Java 测试源代码都在此目录。

    e)  src/test/resources

         测试资源文件目录,所有相关测试资源文件都在此目录。

     f)  target

         输出目录,maven 构建产生的所有输出文件都在此目录。

 

3. 常用指令

    运行命令是 mvn + … 的方式。

    a)  archetype:create

         创建 Maven 项目。

    b)  compile

         编译源代码

    c)  test-compile

         编译测试代码

    d)  test

         运行应用程序中的单元测试

    e)  site

         生成项目相关信息的网站

     f)  clean

         清除目标目录中的生成结果

    g)  package

         依据项目生成 jar 文件

    h)  install

         在本地 Repository 中安装 jar

     i)  eclipse:eclipse

         生成 eclipse 项目文件

 

你可能感兴趣的:(maven,mvn,pom)