一、安装配置:

1、安装配置JDK    java/javac -version

2、安装配置maven   mvn -v

3、下载项目模板    mvn archetype:generate

二、详解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>com.smart</groupId>
<artifactId>smart-demo</artifactId>
<version>1.0</version>
<packaging>war</packaging> <name>smart-demo Maven Webapp</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> <build>
<finalName>smart-demo</finalName>
</build></project>

从上往下简要说明一下:

  • modelVersion:这个是 POM 的版本号,现在都是 4.0.0 的,必须得有,但不需要修改。

  • groupId、artifactId、version:分别表示 Maven 项目的组织名、构件名、版本号,它们三个合起来就是 Maven **坐标,根据这个坐标可以在 Maven 仓库中对应唯一的 **Maven 构件

  • packaging:表示该项目的打包方式,war 表示打包为 war 文件,默认为 jar,表示打包为 jar 文件。

  • name、url:表示该项目的名称与 URL 地址,意义不大,可以省略。

  • dependencies:定义该项目的依赖关系,其中每一个 dependency 对应一个 Maven 项目,可见 Maven 坐标再次出现,还多了一个 scope,表示作用域(下面会描述)。

  • build:表示与构建相关的配置,这里的 finalName 表示最终构建后的名称 smart-demo.war,这里的 finalName 还可以使用另一种方式来定义(下面会描述)。

可见,除了项目的基本信息(Maven 坐标、打包方式等)以外,每个 pom.xml 都应该包括:

  1. Lifecycle(生命周期),包括 9 个 Phase(阶段):clean ,validate ,compile ,test ,package ,verify ,install ,site ,deploy

  2. Plugins(插件)

  3. Dependencies(依赖)

    Scope(作用域),它表示该构件包在什么时候起作用,包括以下五种: compile:默认作用域,在编译、测试、运行时有效   test:对于测试时有效   runtime:对于测试、运行时有效   provided:对于编译、测试时有效,但在运行时无效   system:与 provided 类似,但依赖于系统资源

三、常用命令

  • mvn clean:清空输出目录(即 target 目录)

  • mvn compile:编译源代码

  • mvn package:生成构件包(一般为 jar 包或 war 包)

  • mvn install:将构件包安装到本地仓库

  • mvn deploy:将构件包部署到远程仓库

  • 创建Maven的普通java项目: 
        mvn archetype:generate
        -DgroupId=packageName 
        -DartifactId=projectName
  • 创建Maven的Web项目:
        mvn archetype:generate
        -DgroupId=packageName    
        -DartifactId=webappName 
        -DarchetypeArtifactId=maven-archetype-webapp
  • 生成eclipse或idea   mvn eclipse:eclipse

最新文章

  1. Uiautomator 2.0之UiWatcher类学习小记
  2. Unable to make the session state request to the session state server处理
  3. testlink部署与迁移
  4. WPF打印、预览、导出PDF
  5. unity web player的debug和log信息
  6. [CareerCup] 5.6 Swap Odd and Even Bits 交换奇偶位
  7. 关于LINQ一个简单例子
  8. 【Hadoop代码笔记】Hadoop作业提交之JobTracker接收作业提交
  9. css 等高补偿法
  10. Java并发——线程池Executor框架
  11. Linux只iptables
  12. Linux &amp;&amp; vim 批量替换
  13. C#DataTable DataSet DataRow区别详解
  14. bash远程代码执行漏洞
  15. 如何让Enum枚举实现异或操作
  16. 【博客大赛】使用LM2677制作的3V至24V数控可调恒压源
  17. idea 注释中的错误不再提示
  18. 再议mysql 主从配置
  19. hdu5955 Guessing the Dice Roll【AC自动机】【高斯消元】【概率】
  20. SQL语句小tips(持续更新)

热门文章

  1. HDU_1874_畅通工程续_最短路问题
  2. Tomcat环境的搭建
  3. Jmeter之JDBC请求参数化(二)
  4. VR虚拟红包的技术实现
  5. No value specified for parameter1?
  6. 框架学习八:二维码(Zxing)
  7. Python学习第二阶段day1 内置函数,序列化,软件目录开发规范
  8. ubutun 创建左面快捷方式
  9. python爬虫29 | 使用scrapy爬取糗事百科的例子,告诉你它有多厉害!
  10. Java Web学习总结(29)——Java Web中的Filter和Interceptor比较