在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

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. HTC Vive的定位技术

    Lighthouse空间定位,chaperone系统避免实际障碍物 HTC vive所用的Lighthouse技术属于激光定位技术,Oculus Rift以及索尼PlayStation VR所用的定位 ...

  2. mybatis Dynamic SQL动态 SQL

    动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦.例如拼接时要确保不能忘记添加必要的空格 ...

  3. Executor框架(三)线程池详细介绍与ThreadPoolExecutor

    本文将介绍线程池的设计细节,这些细节与 ThreadPoolExecutor类的参数一一对应,所以,将直接通过此类介绍线程池. ThreadPoolExecutor类 简介   java.uitl.c ...

  4. zabbix自动发现与监控内存和CPU使用率最高的进程,监测路由器

    https://cloud.tencent.com/info/488cfc410f29d110c03bcf0faaac55b2.html         (未测试) https://www.cnblo ...

  5. mysq在命令行模式下执行shell命令

    mysql可以在命令行模式下执行shell命令 mysql> help For information about MySQL products and services, visit: htt ...

  6. java的锁机制,synchronize与Lock比较

    参考:https://blog.csdn.net/dahongwudi/article/details/78201082

  7. 可视化库-seaborn-Facetgrid(第五天)

    1. sns.Facetgrid 画一个基本的直方图 import numpy as np import pandas as pd from scipy import stats, integrate ...

  8. FD 设置字体大小

    英文版: 依次选择菜单 Tools ->Syntax Coloring 中文版本: 如依次选择菜单 工具 ->语法配色器

  9. UI5-文档-4.28-Unit Test with QUnit

    现在我们在应用程序中有了一个测试文件夹,我们可以开始增加我们的测试覆盖率. 实际上,到目前为止我们添加到应用程序中的每个特性都需要单独的测试用例.到目前为止,我们完全忽略了这一点,所以让我们为步骤23 ...

  10. insert NULL into mysql

    https://stackoverflow.com/questions/36898130/python-how-to-insert-null-mysql-values You are insertin ...