Maven环境变量配置:
变量名:M2_HOME 变量值:D:\bin\apache-maven-2.2.1 (安装路径)
在path值后面追加 %M2_HOME%\bin; (注意要加分号)
测试:
Mvn –version
maven常用命令为 :
mvn archetype:create :创建 Maven 项目
mvn compile :编译源代码
mvn test-compile :编译测试代码
mvn test : 运行应用程序中的单元测试
mvn site : 生成项目相关信息的网站
mvn clean :清除目标目录中的生成结果
mvn package : 依据项目生成 jar 文件
mvn install :在本地 Repository 中安装 jar
mvn eclipse:eclipse :生成 Eclipse 项目文件
生成项目
建一个 JAVA 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=App
建一个 web 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
archetype 是一个内建插件,他的create任务将建立项目骨架
archetypeArtifactId项目骨架的类型,DartifactId 项目名称
可用项目骨架有:
maven-archetype-archetype
maven-archetype-j2ee-simple
maven-archetype-mojo
maven-archetype-portlet
maven-archetype-profiles
maven-archetype-quickstart
maven-archetype-simple
maven-archetype-site
maven-archetype-site-simple, and
maven-archetype-webapp
------------------------------------------------------------------------------------------
Setting.xml 配置文件
localRepository:本地库存位置,jar包保存位置,默认${user.dir}/.m2/repository
offline: true/false,如不想每次编译都去查找远程中心库,就设置为true,前提是已下载好包
Servers:配置特定的用户
<servers>
<server>
<id/><username/><password/><privatekey/><pssphrase/>
<filePermissions/><directoryPermissions/><configuration/>
</server>
</servers>
id:用于匹配distributionManagement库id
username,password:用于登陆此服务器的用户名和密码
privateKey,passphrase:设置private Key,及passphrase
filePermissions,directoryPermissions:访问权限664/775
mirrosrs:镜像库,用于添加其他库
<mirrors>
<miror>
<id/><name/><url/><mirroOf/>
</mirror>
</mirrors>
id,name:唯一的标志,用来区别镜像
url:镜像的url
mirrorOf:此镜像指向的服务id
Proxies:代理设置,用于无法直接访问中心库的配置
<proxies>
<proxy>
<id/><active/><protocol/><host/><port/><username/><password/><nonProxyHosts/>
</proxy>
</proxies>
id:代理的标志 active:是否激活代理
protocol,host,port:protocol://host:port代理
username,password:用户名密码 nonProxyHosts:不需要代理的host
repositories和pluginRepositonries定义本地开发库 用于release发布
<repositories>
<repository>
<id/><name/><url/>
<releases>
<enabled/><updatePolicy/><checksumPolicy/>
</releases>
<snapshots>
<enabled/>
</snapshots>
<layout/>
</repository>
</repositories>
-----------------------------------------------------------------------------------------------
Pom.xml 配置文件
在pom.xml中定义jar包版本还有依赖,管理jar文件。
包括配置文件;开发需要遵循的规则,缺陷管理系统,组织和licenses,项目的依赖性
groupId:项目或组织唯一标志,并生成项目路径
artifactId:项目名称 version:项目版本
packaging:打包的机制,如jar,pom,war....
maven中继承的定义
<project>
<modelVersion/><groupId/><version/><packaging/>
</project>
父项目packaging类型需要为pom,用于parent和合成多个项目,子项目为
<parent>
<groupId/><artifctId/><version/>
</parent>
Modules合成
<modules>
<module>tc-dient</moduble>
<module>tc-server</module>
</modules>
build设置:用于编译设置,包括两个主要元素,build,report
<project>
<project>
<build/>
<profies>
<profile>
<build/>
</profile>
</profies>
</profiles>
</project>
build-plugin插件
<project>
<build>
.....
<plugins>
<plugin>
<groupId/><artifactId/><version/>
<extensions/><executions/>
</plugin>
</plugins>
</build>
</project>
extensions:true/false 是否装载插件扩展,默认为false
inherited:true/false 此插件配置是否应用于poms(继承)
configuration:指定插件配置
dependencies:插件需要依赖的包
executions:用于配置execution目标,一个插件可以有多个目标
build-resources资源,项目中需要指定的资源如:log4j.properties
<project>
<build>
<resources>
<resource>
<targetPath/><filtering/><directory/>
<includes>
<include/>
</includes>
<excludes>
<exclude/>
</excludes>
</resource>
</resources>
<testResources>
...
</testResources>
....
</build>
</project>
resources:列表,包括所有的资源
targetPath:指定目标路径,用于放置资源,用于build
filtering:是否替换资源中属性placehold
directory:资源所在的位置
includes:样式,包括资源
excludes:排除的资源
testResources:测试资源列表
dependencies:依赖关系
<dependencies>
<dependency>
<groupId/><artifactId/><version/>
<type/><scope/><optional/>
</dependency>
</dependencies>
groupId,artifactId,version:描述了依赖的项目唯一标志
使用以下的命令安装:
mvn install:install-file –Dfile=non-maven-proj.jar –DgroupId=some.group –DartifactId=non-maven-proj –Dversion=1
创建自己的库,并配置,使用deploy:deploy-file 设置此依赖范围为system,定义一个系统路径。不提倡。
type:相应的依赖产品包形式,如jar,war
scope:用于限制相应的依赖范围,包括以下的几种变量:
compile:默认范围,用于编译
provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath
runtime:在执行时,需要使用
test:用于test任务时使用
system:需要外在提供相应得元素。通过systemPath来取得
systemPath: 仅用于范围为system。提供相应的路径
optional: 标注可选,当项目自身也是依赖时。用于连续依赖时使用
分享到:
相关推荐
使用`mvn jetty:run`可以快速启动一个内嵌的Jetty服务器,并加载项目的web应用。这对于Web项目的开发提供了极大的便利。 #### 5. 编译源代码:`mvn compile` 该命令仅负责编译项目中的Java源代码,不会执行任何...
### Cmd执行mvn clean package命令使用详解 #### 一、Maven简介 Maven是一款Java项目的构建工具,它提供了一套完整的项目信息管理和构建方法,能够帮助开发者更方便地进行项目构建、依赖管理以及生命周期管理等工作...
### MVN常用命令详解 Maven 是一个项目管理和理解工具,它包含了一个项目对象模型 (POM),一组标准集合,一个项目生命周期,一个依赖管理机制,用于运行构建任务的插件集合,以及用来扩展现有功能的插件机制。在...
使用 `mvn archetype:create` 创建项目,通过 `-DgroupId` 和 `-DartifactId` 参数指定项目的基本信息。例如,创建一个名为 "my-app" 的项目,可以输入: ``` mvn archetype:create -DgroupId=...
### Maven 命令详解 1. `mvn -version/-v`: 显示 Maven 的当前版本信息。 2. `mvn archetype:generate`: 创建一个新的 Maven 项目,基于预定义的模板。 3. `mvn archetype:create -DgroupId=...
添加新的本地JAR包到Repository中,可以使用`mvn install:install-file`命令。例如,若要将C盘下的`gwt-datepicker-r29.jar`安装到本地仓库,命令如下: ```bash mvn install:install-file -DgroupId=org.zenika....
### Maven配置与常用命令详解 #### 一、Maven简介 Maven是Apache软件基金会组织下的一个开源项目,它是一个项目管理和理解工具。Maven通过一个中心信息来管理项目的构建、报告和文档,大大简化了Java项目的构建...
### Maven基本命令详解 Maven 是一款非常强大的 Java 项目构建工具,它通过一系列的预定义生命周期和插件,简化了项目的构建、依赖管理和部署等工作。本文将对 Maven 的一些常用基本命令进行详细介绍。 #### 1. ...
maven的setting配置文件详解。。。。
### Maven初步使用详解 #### 一、前言 在软件开发过程中,自动化工具的应用能够显著提高工作效率并降低出错率。Maven作为一种流行的自动化构建工具,不仅能够简化项目的构建过程,还能有效地管理项目的依赖关系。...
解压后,将其路径添加到系统的环境变量`PATH`中,以便在命令行中直接使用`mvn`命令。此外,还需要在用户目录下的`.m2`目录下创建或编辑`settings.xml`文件,配置本地仓库路径和其他个性化设置。 **二、Eclipse中...
《猫(Cat)项目及其分支Mvn-Repo详解》 在IT行业中,开发人员经常会遇到各种资源下载困难的问题,特别是对于特定的开源项目组件。针对这种情况,本文将深入探讨一个名为“Cat”的项目及其关联的“mvn-repo”分支,...
-D传入属性参数-P使用pom中指定的配置-e显示maven运行出错的信息-o离线执行命令,即不去远程仓库更新包-X显示maven允许的debug信息-U强制去远程参考更新snapshot包例如mvninstall-Dmaven.test.skip=true-Poracle其他...
maven详解,使用maven构建项目,pom.xml讲解,本地仓库,搭建nexus
【 Maven2 详解:mvn-examples-1.0 代码实例】 Maven 是一个强大的项目管理和构建工具,尤其在Java开发中广泛使用。`mvn-examples-1.0`是一个示例集合,用于展示Maven2的核心功能和用法。这个压缩包中的代码例子...
【 Maven 使用入门详解 】 Maven 是一款强大的 Java 项目管理工具,它可以帮助开发者构建、管理和部署 Java 应用程序。本文旨在为初学者提供一份详细且实用的 Maven 入门教程,让菜鸟级别的读者也能轻松上手。 **...
- `mvn archetype:create`:使用Maven的原型插件创建新项目。 - `-DgroupId=packageName`:设置项目的组ID,通常对应于包名结构。 - `-DartifactId=projectName`:设置项目的构件ID,即项目名称。 ##### 2. 创建Web...
**Wicket Maven 库详解** Wicket Maven 库是一个针对 Apache Wicket 框架的 Maven 存储库,它包含了构建和运行 Wicket 应用程序所需的各种依赖项。Apache Wicket 是一个用于创建 Web 应用程序的开源 Java 框架,它...