在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 目录中。

然后创建目录链接

  1. CD C:\Program Files\Java\
  2. rem 下面的jdk-9.0.1 换成你自己的JDK
  3. MKLINK /D /J jdk jdk-9.0.1

创建环境变量

  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 目录。

然后创建目录链接

  1. REM 目录记得更新成你自己的目录
  2. CD C:\Program Files\Java
  3. 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)

  1. <!-- path settings/localRepository -->
  2. <localRepository>E:\lib\m2.repository</localRepository>

镜像仓库

  1. <!-- path settings/mirrors/mirror -->
  2. <mirror>
  3.  
  4. <id>alimaven</id>
  5.  
  6. <name>aliyun maven</name>
  7.  
  8. <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  9. <mirrorOf>central</mirrorOf>
  10. </mirror>

网络代理

  1. <proxy>
  2.  
  3. <id>optional</id>
  4.  
  5. <active>true</active>
  6.  
  7. <protocol>http</protocol>
  8.  
  9. <username>proxyuser</username>
  10.  
  11. <password>proxypass</password>
  12.  
  13. <host>proxy.host.net</host>
  14.  
  15. <port>80</port>
  16.  
  17. <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
  18.  
  19. </proxy>

4.牛刀小试

创建一个实验目录 mvn_test

  1. mvn archetype:generate -DgroupId=maven.demo.start -DartifactId=HelloMaven -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

生成

  1. cd HelloWorld
  2. mvn package

运行

  1. java --class-path target\HelloMaven-1.0-SNAPSHOT.jar maven.demo.start.App

Maven 学习笔记(一) 基础环境搭建的更多相关文章

  1. ODB学习笔记之基础环境搭建

      一,简介 ODB是应用于C++的一个开源.跨平台.跨数据库的对象关系映射(ORM)系统. 它可以让你持久化C++对象到关系数据库,而不必处理表.列或者SQL,无需手动编写任何映射代码. ODB支持 ...

  2. Hadoop学习笔记(3)——分布式环境搭建

    Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...

  3. Nutch1.7学习笔记:基本环境搭建及使用

    Nutch1.7学习笔记:基本环境搭建及使用 作者:雨水,时间:2013-10-31博客地址:http://blog.csdn.net/gobitan 说明:Nutch有两个主版本1.x和2.x,它们 ...

  4. MAVEN学习笔记之基础(1)

    MAVEN学习笔记之基础(1) 0.0 maven文件结构 pom.xml src main java package resource test java package resource targ ...

  5. ELK-6.5.3学习笔记–elk基础环境安装

    本文预计阅读时间 13 分钟 文章目录[隐藏] 1,准备工作. 2,安装elasticsearch. 3,安装logstash. 4,安装kibana 以往都是纸上谈兵,毕竟事情也都由部门其他小伙伴承 ...

  6. 【自动化学习笔记】_环境搭建Selenium2+Eclipse+Java+TestNG_(一)

    目录 第一步  安装JDK 第二步 下载Eclipse 第三步 在Eclipse中安装TestNG 第四步 下载Selenium IDE.SeleniumRC.IEDriverServer 第五步 下 ...

  7. Ext学习-HelloWorld以及基础环境搭建

    1.目的    在eclipse中搭建EXTJS的基础环境,学习如何按照从官方下载的代码中搭建新的Extjs工程 2.主要包含内容:   1.ExtJS文件下载以及目录说明   2.ExtJS开发环境 ...

  8. oracle学习笔记1(环境搭建)

    学习的开始先剧透一下,本人有点笨,本来想用oracle vbox,装个red hat+oracle,但是虚拟机一直报错,0x00000000内存不能written.所以便想到其他的办法,刚好接触了go ...

  9. Flink学习笔记:Flink开发环境搭建

    本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...

随机推荐

  1. Vuex 状态管理模式

    Vuex 是一个专为 Vue.js 设计的状态管理模式 vuex解决了组件之间同一状态的共享问题.当我们的应用遇到多个组件共享状态时,会需要: 多个组件依赖于同一状态.传参的方法对于多层嵌套的组件将会 ...

  2. C# AtomicInt

    using System; using System.Threading; /// <summary> /// Provides lock-free atomic read/write u ...

  3. mysql 更新(-)初始mysql

    01-MySql的前戏   MySql的前戏 在学习Mysql之前,我们先来想一下一开始做的登录注册案例,当时我们把用户的信息保存到一个文件中: #用户名 |密码root|123321 alex|12 ...

  4. 微信通过openID发送消息/后台post、get提交并接收数据

    控制器:下面是post发送消息(微信不支持从前台发送数据,之前试过,报错,需要跨域,跨域的问题解决后还不行,最后发现之后后端提交 WXApi类: #region 验证Token是否过期 /// < ...

  5. Axure8.1.0.3372 注册码

    Axure8.1.0.3372 注册码 转载:http://blog.csdn.net/cslucifer/article/details/79355007 Koshy wTADPqxn3KChzJx ...

  6. [Flutter] Android沉侵式标题栏顶部叠加层去除

    可能你的app是这样: 框起来部分和标题栏颜色并不一致. 调用下面的代码可以变成一样. import 'package:flutter/services.dart'; static SystemUiO ...

  7. 0_Simple__template

    简单的 CUDA 应用模板,白送的 Sample. ▶ 源代码 //template_cpu.cpp extern "C" void computeGold(float *, co ...

  8. IIS ashx

    win2008 IIS ashx http://127.0.0.1:801/testHandler.ashx 在服务器上用IE打开提示 HTTP 错误 404.17 - Not Found 请求的内容 ...

  9. vue深入了解组件——动态组件&异步组件

    一.在动态组件上使用 keep-alive 我们之前曾经在一个多标签的界面中使用 is 特性来切换不同的组件: <component v-bind:is="currentTabComp ...

  10. Java多线程对同一个对象进行操作

    示例: 三个窗口同时出售20张票. 程序分析: 1.票数要使用一个静态的值. 2.为保证不会出现卖出同一张票,要使用同步锁. 3.设计思路:创建一个站台类Station,继承THread,重写run方 ...