Maven入门
2015-07-28 13:07
246 查看
1.创建项目
这里介绍的是利用命名行创建,还可使用Eclipse等IDE工具创建,网上可以搜到很多创建方法。
(1).cd 到需要构建项目的目录。
(2).执行命令:mvn archetype:genarate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-webapp
这里需要了解几个名词:
groupId、artifactId、archetypeArtifactId、interactiveMode
maven中groupId、artifactId、version三个元素可以确定一个具体的项目,同样我们自己创建项目时也需要填写项目的这三个元素,其中groupId一般为公司或组织的url反写,如org.apache.maven;artifactId为项目名称或模块名称,如spring-orm模块,version为版本好,创建时默认为0.0.1--SNAPSHOT。archetypeArtifactId为项目骨架(模板),有点类似建大楼前先确定楼房的骨架一样,maven有非常多的方式可供选择,默认是maven-archetype-quickstart,通常会选择maven-archetype-webapp,这个骨架可自动生成一个标准的web项目结构。
2.标准maven项目目录
3.编译项目
mvn compile
4.测试
mvn test
mvn test-compile(只编译测试源代码,不执行)
5.打包
mvn package (文件类型为pom.xml中<packaging>设置的类型)
6.将打包好的jar包安装到本地仓库
mvn install
7.清理编译的源代码
mvn clan
8.生成站点
mvn site
9.筛选资源文件
maven默认的属性:这些默认属性可以在项目所有的资源文件或配置文件中使用
${pom.name} 项目名称
${pom.version} 项目版本
${pom.build.finalName} 最后打包生成的文件名
${user.home}
${env.X} 返回shell的环境变量,也就是我们在系统环境变量里配的名称,如${env.PATH} 返回PATH的值。
${project.X} 返回POM.xml中指定元素的值,如${project.encoding}返回定义的字符集
${java.home} 返回java系统属性,可以通过java.lang.System.getProperties()访问的所有属性都都可用作为 POM 属性
${settings.offline} 返回setting.xml中指定元素的值
${key} 在pom.xml的<properties />元素中定义的内容,都可以使用这种方式读取
如果我们要自定义一些属性,可以把这些属性放到一个properties文件或者直接在pom.xml的<properties/>中定义,放置在src/main/filters/目录中,然后在pom.xml中引入
这里介绍的是利用命名行创建,还可使用Eclipse等IDE工具创建,网上可以搜到很多创建方法。
(1).cd 到需要构建项目的目录。
(2).执行命令:mvn archetype:genarate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-webapp
这里需要了解几个名词:
groupId、artifactId、archetypeArtifactId、interactiveMode
maven中groupId、artifactId、version三个元素可以确定一个具体的项目,同样我们自己创建项目时也需要填写项目的这三个元素,其中groupId一般为公司或组织的url反写,如org.apache.maven;artifactId为项目名称或模块名称,如spring-orm模块,version为版本好,创建时默认为0.0.1--SNAPSHOT。archetypeArtifactId为项目骨架(模板),有点类似建大楼前先确定楼房的骨架一样,maven有非常多的方式可供选择,默认是maven-archetype-quickstart,通常会选择maven-archetype-webapp,这个骨架可自动生成一个标准的web项目结构。
2.标准maven项目目录
src/main/java 程序源文件 src/main/resources 程序资源文件 src/main/filters 资源筛选器文件 src/main/config 配置文件 src/mian/scripts 脚本资源文件 src/main/webapp Web应用程序源 src/test/java 测试源文件 src/test/resources 测试资源文件 src/test/filters 测试资源筛选器文件 src/it 集成测试 (主要是插件) src/assembly 装配描述 src/site 网站
3.编译项目
mvn compile
4.测试
mvn test
mvn test-compile(只编译测试源代码,不执行)
5.打包
mvn package (文件类型为pom.xml中<packaging>设置的类型)
6.将打包好的jar包安装到本地仓库
mvn install
7.清理编译的源代码
mvn clan
8.生成站点
mvn site
9.筛选资源文件
maven默认的属性:这些默认属性可以在项目所有的资源文件或配置文件中使用
${pom.name} 项目名称
${pom.version} 项目版本
${pom.build.finalName} 最后打包生成的文件名
${user.home}
${env.X} 返回shell的环境变量,也就是我们在系统环境变量里配的名称,如${env.PATH} 返回PATH的值。
${project.X} 返回POM.xml中指定元素的值,如${project.encoding}返回定义的字符集
${java.home} 返回java系统属性,可以通过java.lang.System.getProperties()访问的所有属性都都可用作为 POM 属性
${settings.offline} 返回setting.xml中指定元素的值
${key} 在pom.xml的<properties />元素中定义的内容,都可以使用这种方式读取
<directory>${project.basedir}/target</directory> <outputDirectory>${project.build.directory}/classes</outputDirectory> <finalName>${project.artifactId}-${project.version}</finalName> <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory> <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory> <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
如果我们要自定义一些属性,可以把这些属性放到一个properties文件或者直接在pom.xml的<properties/>中定义,放置在src/main/filters/目录中,然后在pom.xml中引入
<build> <filters> <filter>src/main/filters/filter.properties</filter> </filters> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build> 或 <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build> <properties> <my.filter.value>hello</my.filter.value> </properties>
相关文章推荐
- 一些图片处理相关的公共方法
- Same Tree
- 晶振旁的电阻(并联与串联)
- Tornado.web.Application的settings参数
- 文章标题黑马程序员--C语言的基础知识
- 技术点
- 那些没有root权限的岁月:一分钟解决mutt No mailbox
- tcpcopy 实现( php + python)
- HDU 2023 求平均成绩
- 快排与堆排序、归并排序的比较
- 分布式数据库的未来工坊(1)
- 分布式数据库的未来工坊(2)
- 在 Linux 中安装 Google 环聊桌面客户端
- 大白话讲解卡方鉴定【案例】播放的背景音乐对于卖酒有什么样的销售影响?
- 面向对象的思想概述
- Linux ftp 使用
- linux安全登录之sudo命令
- Android开源框架Universal-Image-Loader详解
- Scala界面GUI编程
- morphia基本API方法