在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

最新文章

  1. STM32之输入捕获以及小小应用(库)
  2. sql server全文索引使用中的小坑
  3. C# 转换符的重载 显示、隐式转换
  4. 第53讲:Scala中结构类型实战详解
  5. python 发送邮件函数模块
  6. Android 者开发如何选择测试机列表
  7. MVC 音乐商店 第 8 部分: 购物车与 Ajax 更新
  8. 怎样使用pyinstaller打包
  9. 【转】notepad++设置字体和字体大小
  10. FAQ:Python 断点调试
  11. 5.oracle建表的时候同时创建主键,外键,注释,约束,索引
  12. CSS入门介绍
  13. Go语言结构体(struct)
  14. Android 增量更新和升级
  15. 关于DataTable 判断 列名是否存在的方法中英文符合不区分?
  16. v-model
  17. js学习——函数
  18. VMware5.5-vCenter Converter(转换)
  19. nodejs -- http模块. request() 方法 , get方法.
  20. Day 09 函数基础

热门文章

  1. Oracle创建数据库链接
  2. 关于单独使用ckfinder时去除版本号和提示信息的破解
  3. JVM内部细节之二:偏向锁(Biased Locking)
  4. 第12章 网络基础(1)_网络分层和TCP/IP协议族
  5. 分割List为指定size
  6. Oauth2.0(六):Resource Owner Password Credentials 授权和 Client Credentials 授权
  7. 暴搜 - Codeforces Round #327 (Div. 2) E. Three States
  8. C# 日志记录工具类--LogHelper.cs测试
  9. MYSQL体系结构-来自期刊
  10. JS计算时间差值