`
schy_hqh
  • 浏览: 543102 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Maven的安装、项目结构、POM文件解读(NEW)

 
阅读更多

第一步,下载Maven

http://maven.apache.org/download.cgi

 

第二步,配置本地环境变量,将Maven加入到Path中

新建一个环境变量,保持Maven的安装目录:MAVEN_HOME =  E:\soft\apache-maven-3.1.0

将Maven添加到path环境变量中:%MAVEN_HOME%\bin;

 

第三步,敲命令

mvn -version  查看安装的Maven版本信息

mvn compile   编译当前目录(pom.xml文件所在的目录)下的java文件

(第1次运行,因为本地缺少依赖包,Maven会自动进行下载,并根据settings.xml中的关于localRepository的配置,将jar包放入到对应的目录下存放)

下载完编译所需jar包后,将在当前目录下生成一个target目录,存放编译好的文件。

 

第四步,查看conf\settings.xml文件

该文件包括Maven工厂信息的配置,localRepository,mirrors等

 

第五步,配置本地仓库

默认Maven会将下载的jar包放在C:\Users\CurrentLoginUser\.m2\repository目录中

但是,一般都将其指定到其它地方,便于管理

修改Maven目录下的settings.xml

打开E:\soft\apache-maven-3.1.0\conf下的settings.xml,对localRepository进行设置

指定Maven下载的jar包存放到E:/repository/maven/repos目录中,当运行Maven命令时,就会先到这个目录下寻找,有,则调用,如果没有,则继续下载到此目录。

  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
	<localRepository>E:/repository/maven/repos</localRepository>

 

 

=========================================================================

 

 

Maven项目的结构

src

main

java            存放java源代码

resources   存放资源文件

webapp       存放web.xml【依赖包由Maven在编译时放到target\sms-web\WEB-INF\lib中】

test 

java             存放测试代码

resources    存放测试资源文件

target      存放编译后的文件:classes字节码文件,jar包,war包等

 

pom.xml  Maven配置文件 

 

 

=========================================================================

 

 

 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/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<!--groupId 公司域名倒转+项目名称 -->
	<groupId>com.gc.sms</groupId>

	<!--artifactId 说明项目所属模块,一般格式为:"项目名称-模块名称" -->
	<artifactId>sms-web</artifactId>

	<!--项目版本 -->
	<version>0.0.1-SNAPSHOT</version>

	<!--项目类型(jar/pom/war) -->
	<packaging>jar</packaging>

	<!-- ################################################################### -->
	<!-- 通过dependencies引入依赖包-->
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.7</version>
			<!-- scope=test用于本地测试,Junit的依赖不会传递到其它模块 -->
			<scope>test</scope>
		</dependency>
	</dependencies>

</project>

 

 

=========================================================================

 

Maven命令

 

mvn  compile       编译:编译当前目录下的java源文件

 

mvn  test             测试:运行测试单元

 

mvn  clean          清空:清空target目录

 

mvn  package     打包:执行打包操作,由pom中的packaging属性决定是生成jar包还是war包

 

mvn  clean package   清空、编译、测试、打包

自动完成一系列操作:

先清空target目录,

然后自动编译、执行写好的单元测试、编译,测试都通过了,

最后才进行打包操作。

 

mvn  clean install       清空、编译、测试、打包、安装到本地仓库

自动完成一系列操作: 

先清空target目录,

然后自动编译、执行写好的单元测试、编译,测试都通过了,

接着打包,

最后,将打好的包(可能是jar包,也可能是pom文件)上传到本地仓库中!

作用:

本地仓库中有了该模块的jar包,其它模块就可以通过dependencies来下载这个模块的jar包,从而得到使用!

install之后,只有本地才能通过dependencies下载到该模块,因为没有上传到私服中!

 

 mvn  clean deploy     发布:将jar包上传到私服中

作用:

项目组的其它同事通过私服就能获取到该模块的jar包,进而得到使用

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics