Maven 学习笔记(一) 基础环境搭建
在Java的世界里,项目的管理与构建,有两大常用工具,一个是Maven,另一个是Gradle,当然,还有一个正在淡出的Ant。Maven 和 Gradle 都是非常出色的工具,排除个人喜好,用哪个工具来构建项目,都是很不错的选择。
本人从事开发工作多年了,一般不喜欢被绑定在某一个IDE上面,所以,我这里主要是总结一些使用命令行来完成项目构建的方法,当然,这也有利于后期往Jenkins 等持续集成工具迁移时作为参考。
1.Java 基础环境搭建
Oracle的官网上找到合适的JDK下载,链接http://www.oracle.com/technetwork/java/javase/downloads/index.html
我这里尝个鲜,下个JDK9的。双击安装到 C:\Program Files\Java 目录中。
然后创建目录链接
CD C:\Program Files\Java\
rem 下面的jdk-9.0.1 换成你自己的JDK
MKLINK /D /J jdk jdk-9.0.1
创建环境变量
JAVA_HOME=C:\Program Files\Java\jdk
修改PATH环境变理新增%JAVA_HOME%\bin,一般我不加这个,除了写个Hello World用javac 去编译,别的没什么大的用处。加不加看个人喜好吧。
2.Maven 下载及环境变量配置
下载一个你喜欢的Maven版本,链接 https://maven.apache.org/download.cgi
这里还是下最新的,3.5.2, 然后解压到一个你希望的路径,这里解压到 C:\Program Files\Java 目录。
然后创建目录链接
REM 目录记得更新成你自己的目录
CD C:\Program Files\Java
MKLINK /J /D maven apache-maven-3.5.2
修改PATH环境变量,将 C:\Program Files\Java\maven\bin 加入。
3. Maven 配置文件
Maven 的配置文件有两个,一个是全局的,通常在Maven的安装目录的 conf目录里,另一个是用户级的,在用户主目录下的 .m2 目录里,文件名都是 settings.xml
比较常用的配置有三个,一个是本地缓存仓库的位置,一个是镜像仓库的位置,还有一个就是网络代理。
本地缓存仓库(/settings/localRepository)
<!-- path settings/localRepository -->
<localRepository>E:\lib\m2.repository</localRepository>
镜像仓库
<!-- path settings/mirrors/mirror -->
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
网络代理
<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>
4.牛刀小试
创建一个实验目录 mvn_test
mvn archetype:generate -DgroupId=maven.demo.start -DartifactId=HelloMaven -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
生成
cd HelloWorld
mvn package
运行
java --class-path target\HelloMaven-1.0-SNAPSHOT.jar maven.demo.start.App
最新文章
- STM32之输入捕获以及小小应用(库)
- sql server全文索引使用中的小坑
- C# 转换符的重载 显示、隐式转换
- 第53讲:Scala中结构类型实战详解
- python 发送邮件函数模块
- Android 者开发如何选择测试机列表
- MVC 音乐商店 第 8 部分: 购物车与 Ajax 更新
- 怎样使用pyinstaller打包
- 【转】notepad++设置字体和字体大小
- FAQ:Python 断点调试
- 5.oracle建表的时候同时创建主键,外键,注释,约束,索引
- CSS入门介绍
- Go语言结构体(struct)
- Android 增量更新和升级
- 关于DataTable 判断 列名是否存在的方法中英文符合不区分?
- v-model
- js学习——函数
- VMware5.5-vCenter Converter(转换)
- nodejs -- http模块. request() 方法 , get方法.
- Day 09 函数基础
热门文章
- Oracle创建数据库链接
- 关于单独使用ckfinder时去除版本号和提示信息的破解
- JVM内部细节之二:偏向锁(Biased Locking)
- 第12章 网络基础(1)_网络分层和TCP/IP协议族
- 分割List为指定size
- Oauth2.0(六):Resource Owner Password Credentials 授权和 Client Credentials 授权
- 暴搜 - Codeforces Round #327 (Div. 2) E. Three States
- C# 日志记录工具类--LogHelper.cs测试
- MYSQL体系结构-来自期刊
- JS计算时间差值