参考:http://my.oschina.net/huangyong/blog/194583
Maven
统一项目的目录结构
统一管理 jar 包,Maven 中央仓库找到jar包
安装、配置环境变量、mvn -v 验证
M2_HOME = D:/tool/maven
path加入%M2_HOME%\bin
项目首先会从本地仓库中获取 jar 包,当无法获取指定 jar 包的时候,本地仓库会从 远程仓库(或 中央仓库) 中下载 jar 包,并放入本地仓库中以备将来使用。
Archetype(原型)项目模板
Maven 坐标,根据这个坐标可以在 Maven 仓库中对应唯一的 Maven 构件。
pom.xml
<project>
<groupId>com.smart 组织名</groupId>
<artifactId>smart-demo 构件名</artifactId>
<version>1.0</version>
<packaging>war 打包方式</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>smart-demo 最终构建后的名称 smart-demo.war</finalName>
</build>
</project>
maven/conf/setting.xml
------ 推荐 配置 OSC Maven mirror
<mirrors>
...
<mirror>
<id>osc</id>
<mirrorOf>central</mirrorOf>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
<mirror>
<id>osc_thirdparty</id>
<mirrorOf>thirdparty</mirrorOf>
<url>http://maven.oschina.net/content/repositories/thirdparty/</url>
</mirror>
...
</mirrors>
配置 profile
<profiles>
...
<profile>
<id>osc</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>osc</id>
<url>http://maven.oschina.net/content/groups/public/</url>
</repository>
<repository>
<id>osc_thirdparty</id>
<url>http://maven.oschina.net/content/repositories/thirdparty/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>osc</id>
<url>http://maven.oschina.net/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
...
</profiles>
<localRepository>C:\worksoft\maven-localRepository</localRepository>
------
常用命令:
mvn archetype:generate 创建maven项目
mvn clean:清空输出目录(即 target 目录)
mvn compile:编译源代码。//默认本地仓库中的所有jar复制到新repos下重新编译下
mvn package:生成构件包(一般为 jar 包或 war 包)
mvn install:将构件包安装到本地仓库
mvn deploy:将构件包部署到远程仓库
中央仓库 http://search.maven.org/
STS>Maven install >user setting
线上的中央仓库 pache-maven-3.3.1\lib\maven-model-builder-3.3.1.jar\ org\apache\maven\model\pom-4.0.0.xml https://repo.maven.apache.org/maven2
其他<mirror>
<id>ibiblio.org</id>
<name>ibiblio Mirror of http://repo1.maven.org/maven2/</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
<mirrorOf>central</mirrorOf>
<!-- United States, North Carolina -->
</mirror>
<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>