Maven学习小结(一 初探)
1.下载Maven,解压并设置到环境变量中
https://maven.apache.org/download.cgi
需要先设置“JAVA_HOME”,否则报错:

之后查看Maven版本成功:

1.1设置%MAVEN_OPTS% 为-Xms128m -Xmx512m,表示设置JVM的最小和最大内存;
This variable contains parameters used to start up the JVM running Maven and can be used to supply additional options to globally to Maven. E.g. JVM memory settings could be defined with the value -Xms256m -Xmx512m.
2.目录结构约定(convention over configuration)
在软件开发过程中,如果我们事先约定好所有项目的目录结构、标准开发过程(编译,测试) , 并且所有人都遵循这个约定。软件项目的管理就会变得简单很多。在现在流行的很多框架中,都使用了这个概念;
ProjectRootName
|-----src
| |-----main
| | |----------java ------用来存放Java文件
| | | ----------resources ----用来存放资源文件
| |-----test
| | |---------java --- --用来存放测试的Java文件
| | |---------resources -----用来存放资源文件
|-------target ------项目输出位置,编译完毕后自动生成
|-------pom.xml ------ 项目对象模型的描述 ,它是maven配置的核心
3.手动创建Maven项目
3.1按照Maven项目的目录结构创建一个Hello.java文件:
//MavenTest1\src\main\java\Hello.java
public class Hello
{
public static void main(String[] args) {
System.out.println("Hello");
}
}
在ProjectRootFolder下创建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/xsd/maven-4.0.0.xsd">
<!-- 当前pom的版本号 -->
<modelVersion>4.0.0</modelVersion>
<!-- groupId: 当前jar所属的命名空间 -->
<groupId>cn.test.maven</groupId>
<!-- 当前项目模块名称 -->
<artifactId>Hello</artifactId>
<!-- 当前项目的版本, SNAPSHOT镜像版 -->
<version>0.0.1-SNAPSHOT</version>
</project>
在ProjectRoot目录下使用命令“mvn compile”编译:

在编译的过程中会自动到Maven仓库下载缺少的jar文件到本地仓库;
编译成功:

在项目根目录下会生成一个target文件夹

在target文件夹中有个classes文件夹,里面是编译后的文件


可以运行:

3.2修改从Maven仓库下载到本地仓库的jar文件的默认存储路径;
从Maven仓库下载的jar文件默认放在当前用户目录下的.m2\repository下

通过apache-maven-3.3.9\conf\settings.xml修改默认存放路径,图示修改为存放到e:\repository下

重新编译项目就会重新从Maven仓库把缺少的jar文件下载到指定的目录:

3.3清理编译后的项目,使用“mvn clean”清理编译结果

执行后,项目根目录下的target文件夹被清理了

参考:http://www.cnblogs.com/xdp-gacl/p/3498271.html
Maven学习小结(一 初探)的更多相关文章
- Maven学习小结(七 生命周期[转])
Maven2的阶段(生命周期)说明:Maven2拥有三套独立的生命周期,Maven的命令也是基于这些生命周期来说的.1.clean:清理先前构建的构件,又分为下面三个下阶段: a.pre-clean ...
- Maven学习小结(六 setting.xml详解[转])
当Maven运行过程中的各种配置,例如pom.xml,不想绑定到一个固定的project或者要分配给用户时,我们使用settings.xml中的settings元素来确定这些配置.这包含了本地仓库位置 ...
- Maven学习小结(五 pom.xml详解[转])
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- Maven学习小结(四 聚合与继承)
1.聚合 一次构建多个项目模块. 2.继承 为了消除重复,把很多相同的配置提取出来,例如groupid和version: 2.1 Maven中可以继承的POM元素 groupId :项目组 ID ,项 ...
- Maven学习小结(三 基本概念)
1.Maven POM POM(Project Object Model)项目对象模型,是用Maven来管理项目里的一个叫做pom.xml的文件.所有的项目配置信息都被定义在这个文件中, 通过这个文件 ...
- Maven学习小结(二 项目构建过程)
1.创建Maven项目 1.1 创建Maven项目的约定目录结构 1.2 编辑pom.xml <project xmlns="http://maven.apache.org/POM/4 ...
- Maven学习小结
简介:一款服务于Java的自动化构建工具 1 安装 必须已经安装了jdk且配置了环境变量,注意查看当前maven版本支持的jdk版本 配置Maven的环境变量 MAVEN_HOME PATH 使用mv ...
- maven -- 学习笔记(四)实现在Eclipse用maven搭建springmvc项目(附构建步骤和详细实现代码)
Learn from:http://www.cnblogs.com/fangjins/archive/2012/05/06/2485459.html,感谢楼主的分享,才有下面的这篇学习小结 一.环境准 ...
- Maven学习- 使用Maven构建Web项目
从网上查了一些资料,才算明白(也就是怎么操作吧),怎么使用Maven构建一个Web项目,找到一篇文档,主要都是从这里学到的: 下载地址:使用Eclipse构建Maven的Web项目.docx 现自己在 ...
随机推荐
- SSL 通信原理及Tomcat SSL 配置
SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...
- 【Tcpcopy】离线回放功能
最近因调试问题,需要一直进行tcpcopy,拿有问题的包进行测试.决定使用tcpcopy对录制脚本进行回放,以下为我操作的具体步骤.主要是三块 1 下载安装具有离线回放功能的tcpcopy 2 使用t ...
- HDU 5617 Jam's maze 巧妙DP
题意:给你一个字符矩阵,从(1,1)到(n,n)有很多种走法,每一种走法形成一个字符串,问有多少种走法形成的字符串是回文的 分析:(粘贴BC题解) 的是回文串,有人会想到后缀数组自动机马拉车什么的,其 ...
- asp.net文本编辑器(FCKeditor)
FCKeditor介绍 FCKeditor是一个功能强大支持所见即所得功能的文本编辑器,可以为用户提供微软office软件一样的在线文档编辑服务.它不需要安装任何形式的客户端,兼容绝大多数主流浏览器, ...
- java 注解(转)
第一部分:了解一下java1.5起默认的三个annotation类型: 一个是@Override:只能用在方法之上的,用来告诉别人这一个方法是改写父类的. 一个是@Deprecated:建 ...
- gem install走代理,速度刚刚的
有个树莓pi,安装了shadowsocks 和 cow ,做代理,走ipv6,学校不收ipv6流量钱.速度也不错,快的下载可达10M/s. gem install xx遇到墙了. nano ~/.ge ...
- Go 学习笔记(一)
随着Go的应用越来越火热,自己也终于开始学习了.平时经常用C,看着Go还是比较亲切的.好了,开始. 今天主要是按照书上的内容自己简单的实践了下最基本的输出,以及网页功能,上代码: package ma ...
- Base-Android快速开发框架(五)--网络操作之RequestModel、ResponeModel、CustomAsyncHttpClient
在正式介绍CustomAsyncHttpClient之前,刚好最近有一个朋友找我帮忙给他们看下一个APP.我先上一段代码截图.一段检测版本更新的接口代码.
- poj 1704 阶梯博弈
转自http://blog.sina.com.cn/s/blog_63e4cf2f0100tq4i.html 今天在POJ做了一道博弈题..进而了解到了阶梯博弈...下面阐述一下我对于阶梯博弈的理解. ...
- POJ1149 PIGS
想了好久啊...(#-.-) 开始想到m*n个点的构图,明显超时,于是考虑压缩节点个数 我们发现每个猪圈最后被有且只有一个人调整,于是想到对于一个人,连接他能调整的每个猪圈的上一个控制人.(不懂可以开 ...