Maven目录:
/usr/local/maven $ ll
LICENSE.txt
NOTICE.txt
README.txt
bin/
boot/
conf/
lib/
bin/目录包含了运行Maven的 mvn脚本;
boot/ 目录包含了一个负责创建Maven运行所需要的类装载器的JAR文件(classwords-1.1.jar);
conf/ 目录包含了一个全局的settings.xml文件,该文件用 来自定义你机器上Maven的一些行为。如果你需要自定义Maven,更通常的做法是覆写 ~/.m2目录下的settings.xml文件,每个用户都有对应的这个目录;
lib/ 目录有了一个 包含Maven核心的JAR文件(maven-2.2.1-uber.jar);
Maven用户相关配置和仓库:
~/.m2/settings.xml 该文件包含了用户相关的认证,仓库和其它信息的配置,用来自定义Maven的行为;
~/.m2/repository/ 该目录是你本地的仓库。当你从远程Maven仓库下载依赖的时候,Maven在你本地 仓库存储了这个依赖的一个副本;
创建一个Mave项目:
命令:
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple
simple/❶
simple/pom.xml❷
/src/
/src/main/❸
/main/java
/src/test/❹
/test/java
❶ Maven Archtype插件创建了一个与artifactId匹配的目录——simple。这是项目的 基础目录。
❷ 每个项目在文件pom.xml里有它的项目对象模型 (POM)。这个文件描述了这个项 目,配置了插件,声明了依赖。
❸ 项目的源码了资源文件被放在了src/main目录下面。在一个Java 项目中,Java类放在src/main/java下面,而classpath资源文件放在src/main/ resources下面。
❹ 项目的测试用例放在src/test下。在这个目录下面,src/test/java存放像使用JUnit或者TestNG这样的Java测试类。目录src/test/resources下存放测试classpath资源文件。
pom.xml:
(项目总控文件)
<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/mave <modelVersion>4.0.0</modelVersion>
<groupId>org.sonatype.mavenbook.ch03</groupId>
<artifactId>simple</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>simple</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
Maven的坐标,唯一标识项目:
groupId, artifactId, packaging, version
groupId: 标识的约定是,它以创建这个项目的组织名称的逆向域名(reverse domain name)开头。
artifactId: 在groupId下的表示一个单独项目的唯一标识符。
version: 一个项目的特定版本。正在开发中的项目可以用一个特殊的标识,这种标识给版本加上 一个“SNAPSHOT”的标记。
packaging: 项目的类型,默认是jar,描述了项目打包后的输出。类型为jar的项目产生一个 JAR文件,类型为war的项目产生一个web应用。
Maven命令:
maven install Maven会把项目的构件安装到本地仓库