Maven基础知识和环境搭建
基本概念和生命周期
Maven是现在流行的构建自动化工具,提供了软件构建过程中全生命周期的管理。
基础目录结构
基础目录结构如下:
- 根目录:存放pom.xml 和所有的子目录
- ${basedir}/src/main/java: java源代码
- ${basedir}/src/main/resources: 资源文件,比如属性文件,配置文件
- ${basedir}/src/test/java:单元测试代码
- ${basedir}/src/test/resources:测试资源
编译打包以后会默认的产生 jar文件,并且编译生成的classes文件会放置在${basedir}/target/classes 下面, JAR 文件会放在 ${basedir}/target 下面。
Maven安装和使用
- 下载Apache Maven包并且解压。
- 配置Maven的环境变量,把bin目录加到默认的PATH当中。
- 命令行中使用mvn -version查看安装的版本。
- 配置解压目录下/conf/setting.xml中的参数,包括本地仓库目录,镜像源(中央仓库,私服...)
- 新建Maven项目:首次新建某个类型(archetype)maven项目需要联网,maven要从网上下载相应的依赖包。Archetype 可以理解成项目的模型。 Maven 为我们提供了很多种的项目模型,包括从简单的 Swing 到复杂的 Web 应用。mvn archetype:generate -DgroupId=com.mycompany.helloworld -DartifactId=helloworld -Dpackage=com.mycompany.helloworld -Dversion=1.0-SNAPSHOT
- 切换到对应的工程根目录,构建Maven项目(mvn package),当你第一次运行 maven 的时候,它会从网上的 maven 库 (repository) 下载需要的程序,存放在你电脑的本地库 (local repository) 中,所以这个时候你需要有 Internet 连接。Maven 默认的本地库是 ~/.m2/repository/。如果settings里配置了本地库,则下载到对应的配置文件夹当中。
- 第6步结束以后, maven 在 工程根目录下面建立了一个新的目录 target/ ,构建打包后的 jar 文件 xxx-1.0-SNAPSHOT.jar 就存放在这个目录下。编译后的 class 文件放在 target/classes/ 目录下面,测试 class 文件放在 target/test-classes/ 目录下面。
eclipse集成maven
最新版本的eclipse已经内嵌maven插件,并且指向默认的Maven。但通常我们还是单独下载maven,然后通过preference指向到下载的Maven。
- 安装插件
- 到eclipse preference的maven 配置下指定maven的解压目录和setting.xml目录
- 配置本地仓库
- 配置仓库:中央仓库,私服(公司级别),镜像,项目仓库(单独开发,直接在项目pom文件中引用中央仓库)
- 新建maven项目:指定archetype,groupId,packageID,version,首次新建特定类型项目需要联网下载相应的项目模型。
- 使用pom管理项目构建依赖包,编写程序,保存pom时会自动从配置的仓库中下载依赖包。
- 运行程序,eclipse中的运行等同于启动mvn package命令,会自动下载相应包到指定仓库当中,并打包生成相应的classes和jar包。
maven仓库源配置
- Settings中配置中央仓库,普通仓库,私服,镜像
- Projects中直接引用中央仓库。
通常情况下,公司会搭建私服,然后配置settings引用私服。对于单独开发的程序员来说,可以在settings中配置开源中央仓库或者是镜像。也可以直接在项目的pom中指定仓库。第一种方式我没有成功过,第二种方式解决了问题,暂且先用第二种方式,以后有时间再仔细研究Maven仓库配置。
1. 首先在项目的pom.xml文件中配置开源仓库
<repositories>
<repository>
<id>jboss</id>
<url>http://repository.jboss.com/maven2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
2. 可以查看Maven repo视图,看到项目下面有相应的仓库,选中仓库,右键选择更新仓库index可以让用户在pom dependency里直接搜索到想要添加的jar包
3. 如果搜索不到相应的jar包,可以打开网站查询jar包的配置,点开即可查看相应内容
http://mvnrepository.com/
4. 在项目中为pom添加相应依赖包,保存,eclipse会自动开启下载。
Maven基础知识和环境搭建的更多相关文章
- Appium基础知识与环境搭建
基础知识: 环境搭建: 1.安装jdk,配置java环境变量 (1)新建变量"JAVA_HOME",变量值"D:\Frameworks\Java\jdk1.8.0_18 ...
- Spring MVC基础知识整理➣环境搭建和Hello World
概述 Spring MVC属于SpringFrameWork的产品,采用Model-View-Controller进行数据交互,已经融合在Spring Web Flow里面.Spring 框架提供了构 ...
- SpringBoot入门一:基础知识(环境搭建、注解说明、创建对象方法、注入方式、集成jsp/Thymeleaf、logback日志、全局热部署、文件上传/下载、拦截器、自动配置原理等)
SpringBoot设计目的是用来简化Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,SpringBoot致力于在蓬勃发 ...
- Android 基础知识 -- Linux环境搭建
Android 开发工具下载网站:http://www.androiddevtools.cn/ 1 JDK 1.1 下载JDK,解压后放到/usr/lib/jvm/目录 sudo mv jdk1.7. ...
- Maven基础知识详解
1. 简介 Maven在Java领域的应用已经非常广泛了,有了Maven的存在是的开发人员在搭建.依赖.扩展和打包项目上变得非常简单. 2. Windows安装Maven 下载安装包 http ...
- maven基础知识
1.maven基础知识 1.1maven坐标 maven坐标通常用冒号作为分割符来书写,像这样的格式:groupId:artifactId:packaging:version.项目包含了junit3. ...
- Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建
1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底.安装完成之后当然要配置环境变量了. ————————————————— ...
- SSM 框架-03-MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
SSM 框架-03-MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建 如果你是使用 Eclipse 你需要先安装 MyEclipse,请参考:SSM 框架-02-MyEclipse ...
- Python基础学习之环境搭建
Python如今成为零基础编程爱好者的首选学习语言,这和Python语言自身的强大功能和简单易学是分不开的.今天我们将带领Python零基础的初学者完成入门的第一步——环境搭建.本文会先来区分几个在P ...
随机推荐
- BZOJ 1413 取石子游戏(DP)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1413 题意:n堆石子排成一排.每次只能在两侧的两堆中选择一堆拿.至少拿一个.谁不能操作谁 ...
- RC4加密解密算法
RC4相对是速度快.安全性高的加密算法.在实际应用中,我们可以对安全系数要求高的文本进行多重加密,这样破解就有一定困难了.如下测试给出了先用RC4加密,然后再次用BASE64编码,这样双重锁定,保证数 ...
- 借助Nodejs在服务端使用jQuery采集17173游戏排行信息
Nodejs相关依赖模块介绍 Nodejs的优势这里就不做介绍啦,这年头相信大家对它也不陌生了.这里主要介绍一下用到的第三方模块. async:js代码中到处都是异步回调,很多时候我们需要做同步处理, ...
- [转]Socket send函数和recv函数详解
1.send 函数 int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP ...
- hdu 1874(Dijkstra + Floyd)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Me ...
- FormsAuthentication.HashPasswordForStoringInConfigFile 方法 之研究
摘自:http://time-is-life.cnblogs.com/articles/322523.html 给定标识哈希类型的密码和字符串,该例程产生一个适合存储在配置文件中的哈希密码. [C#] ...
- iOS - File Archive/UnArchive 文件压缩/解压
1.ZipArchive 方式 ZipArchive 只能对 zip 类文件进行压缩和解压缩 GitHub 网址:https://github.com/ZipArchive/ZipArchive Zi ...
- html 如何获取表格中所选行的一行数据,并赋值到对应的TEXT里面?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【转】分析Linux和windows动态库
原文地址:http://www.cnblogs.com/chio/archive/2008/11/13/1333119.html 摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Lin ...
- 字符设备 register_chrdev_region()、alloc_chrdev_region() 和 register_chrdev() (转载)
1. 字符设备结构体 内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里.该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下: static ...