maven学习2
pom.xml文件中的内
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
5 http://maven.apache.org/xsd/maven-4.0.0.xsd">
6 <!--所有的Maven项目都必须配置这四个配置项-->
7 <modelVersion>4.0.0</modelVersion>
8 <!--groupId指的是项目名的项目组,默认就是包名-->
9 <groupId>cn.gacl.maven.hello</groupId>
10 <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"-->
11 <artifactId>hello-first</artifactId>
12 <!--version指的是版本,这里使用的是Maven的快照版本-->
13 <version>SNAPSHOT-0.0.1</version>
14 </project
使用Maven编译Hello.java,首先进入到项目根目录,然后使用命令”mvn compile”进行编译。
使用Maven编译完成之后,在项目根目录下会生成一个target文件夹,如下图所示:
4 配置代理服务器(可选)
maven项目在编译、测试、打包里,会需要从maven的中央仓库(即:maven组织公布在互联网上的一个站点,里面已经收录了目前绝大多数主流的jar包)下载jar包等文件,如果使用代理服务器上网,需要配置代理服务器。
把%MAVEN_HOME%\conf\settings.xml复制一份到本地仓库C:\Users\当前用户名\.m2\下,然后编辑该文件,找到下面这段
<proxies>
<!-- proxy
| Specification for one proxy, to be used in connecting to the network.
|
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>proxyuser</username>
<password>proxypass</password>
<host>proxy.host.net</host>
<port>80</port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
-->
</proxies>
把注释去掉,host这里填写代理服务器的地址(可以用IP)以及port端口,如果需要用户名/密码认证,则填写username/password节点,否则username/password这二个节点去掉,nonProxyHosts表示某些地址不需要经过代理服务器,多个地址之间用|分隔,支持通配符,比如172.156.*
五、修改从Maven中心仓库下载到本地的jar包的默认存储位置
从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,${user.home}表示当前登录系统的用户目录(如"C:\Users\gacl"),如下图所示
Jar包存放在这个位置不太好,我们希望能够自己定义下载下来的jar包的存放位置,因此我们可以自己设置下载到本地时的jar包的存放目录。
在“E:\”目录下创建一个“repository”文件夹
找到apache-maven-3.2.3\conf目录下的settings.xml文件,如下图所示:
编辑setting.xml文件,如下图所示:
加上下面的代码
1 <localRepository>E:/repository</localRepository>
这样就可以把jar包下载到我们指定的E:/repository目录中了,如下图所示:
把jar包下载到本地的好处就是,当编译时,会优先从本地的jar包去找,如果本地存在,就直接拿来用,如果不存在,就从Maven的中心仓库去下载。如下图所示:
第一次执行"mvn compile"和"mvn clean"这两个命令时,Maven会去中央仓库下载需要的jar包,而第二次执行这两个命令时,由于所需的jar包已经在本地的仓库中存储,所以就可以直接拿来用了,这样就省去了去中央仓库下载jar包的时间。
以上就是Maven的简单入门讲解。
最新文章
- 开始研究web,mark一下
- Codeforces Round #262 (Div. 2) 1003
- 页面引入flash
- BootStrap入门教程 (一)
- Linux root 密码重置与用户管理
- EasyUI-draggable
- Android:Style和Theme
- OOS升级服务
- HDU2196-Computer
- Adapter常用的实现--BaseAdapter
- Android SDK Web SDK 接口测试总结
- AppScan扫描结果分析及工具栏使用
- Kafka integration with Ganglia
- mybatis3源码阅读之SqlSessionFactoryBuilder
- 项目从.net core 2.1.0升级到.net core 2.2.4,原有项目出错及解决方案
- Mybatis中#与$区别
- 【redis 学习系列】API的理解与使用(一)
- python 杨辉三角实现逻辑
- HTTP的Referrer和Referrer Policy设置
- 解决ie浏览器下载apk或ipa变为zip
热门文章
- Codeforces Round #220 (Div. 2)
- elasticsearch负载均衡节点——客户端节点 node.master: false node.data: false 其他配置和master 数据节点一样
- python练习题100例
- 软工作业-四则运算(java实现)BY叶湖倩,叶钰羽
- c++ 霍夫变换检测直线
- Python读取指定目录下指定后缀文件并保存为docx
- Ubuntu+Rmarkdown的中文slides实现(附GitHub template)
- C高级第一次作业附加
- 前端之JavaScript 补充
- my vim IDE 编辑器的配置