Maven入门(含实例教程)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包。接下来小宝鸽,将从下面几个方向介绍maven:

(1)Maven简单介绍 
(2)Maven安装与配置 
(3)Maven携手eclipse构建项目 
(4)Maven的常用命令 
(5)Maven实例

猿友门抓紧了,马上起飞了:

(1)Maven的简单介绍

Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包。但是对于我们程序员来说,我们最关心的是它的项目构建功能。所以这里我们介绍的就是怎样用 maven 来满足我们项目的日常需要。Maven 使用惯例优于配置的原则 。它要求在没有定制之前,所有的项目都有如下的结构:

这里写图片描述

一个 maven 项目在默认情况下会产生 JAR 文件,另外 ,编译后 的 classes 会放在 basedir/target/classes 下面, JAR 文件会放在 ${basedir}/target 下面。这时有人会说了 , Ant 就没有那么多要求 ,它允许你可以自由的定义项目的结构。在这里不想引起口水战哈, 我个人觉得 maven 的这些默认定义很方便使用。好了 ,接下来我们来安装 maven 。

(2)Maven安装与配置

2.1、下载maven安装包:apache-maven-3.2.1 http://download.csdn.net/detail/u013142781/9355367,解压即可使用。

2.2、maven环境变量配置,配置方式跟jdk有些类似。新建环境变量MAVEN_HOME(值为maven的根目录)、然后在PATH环境变量里加入%MAVEN_HOME%\bin;即可。

2.3、设置setting.xml文件,配置本地仓库。apache-maven-3.2.1\conf下有个setting.xml文件,打开,localRepository的值设置成你本地仓库的路径。(博主在apache-maven-3.2.1根目录下创建了个repository文件夹作为本地仓库)。如下图

这里写图片描述

2.4、maven配置到eclipse上,下载插件eclipse-maven3-plugin http://download.csdn.net/detail/u013142781/9355661, 解压后把对应的features和plugins这两个文件夹的内容复制到eclipse相同文件夹里面即可,然后重启eclipse,当你打开Window→ Preferences…的时候,你应该能够在一个选项列表中看到一个Maven选项:

这里写图片描述

然后,Windows–>Prefrences–>Installations–>Add。installation name选maven的根目录,然后一直按确定就OK啦。

这里写图片描述

至此 maven安装配置完成!如果需要了解jdk+eclipse+svn+maven+mysql+tomcat7.0的环境搭建,可阅读小宝鸽的博客http://blog.csdn.net/u013142781/article/details/50300233,非常详细而且还提供安装包哦。

(3)Maven携手eclipse构建项目

具体的创建方式可以查看我好友的一篇博客:Spring+Mybatis+SpringMVC+Maven+MySql搭建实例,http://blog.csdn.net/evankaka/article/details/48785513,非常非常详细。当然小宝鸽以后也会写一篇“Spring+Mybatis+SpringMVC+Maven+MySql搭建实例”,希望多多关注支持啊。

(4)Maven的常用命令

Maven常用命令: 
1. 创建Maven的普通java项目: 
mvn archetype:create -DgroupId=packageName -DartifactId=projectName 
2. 创建Maven的Web项目: 
mvn archetype:create -DgroupId=packageName -DartifactId=webappName-DarchetypeArtifactId=maven-archetype-webapp 
3. 编译源代码: mvn compile 
4. 编译测试代码:mvn test-compile 
5. 运行测试:mvn test 
6. 产生site:mvn site 
7. 打包:mvn package 
8. 在本地Repository中安装jar:mvn install 
9. 清除产生的项目:mvn clean 
10. 生成eclipse项目:mvn eclipse:eclipse 
11. 生成idea项目:mvn idea:idea 
12. 组合使用goal命令,如只打包不测试:mvn -Dtest package 
13. 编译测试的内容:mvn test-compile 
14. 只打jar包: mvn jar:jar 
15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile 
( -skipping 的灵活运用,当然也可以用于其他组合命令) 
16. 清除eclipse的一些系统设置:mvn eclipse:clean

(5)Maven实例

1、Maven工程创建

这里写图片描述

2、选择快速框架

这里写图片描述

3、输出项目名,包(Packaging,如果只是普通的项目,选jar就好了,如果是web项目就选war,这里我们选择jar)

这里写图片描述

4、创建好的目录如下:

这里写图片描述

5、刚开始的pom.xml是这样的

这里写图片描述

6、现在我们添加mysql驱动包的依赖,编辑pom.xml如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.luo</groupId><artifactId>first_maven_project</artifactId><version>0.0.1-SNAPSHOT</version><dependencies><!-- mysql驱动包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.29</version></dependency></dependencies></project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

7、如上编辑pom.xml,然后保存,那么就会自动从中央仓库下载包,会发现这里多了一个包:

这里写图片描述

然后就可以正常使用这个包啦

8、其他想要依赖的包,对应的dependency,可以在这个网站找: 
http://mvnrepository.com/

这里写图片描述

转自:https://blog.csdn.net/u013142781/article/details/50316383

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进阶正则表达式

本文同步自我的博客园&#xff1a;http://www.cnblogs.com/hustskyking/ 关于正则表达式&#xff0c;网上可以搜到一大片文章&#xff0c;我之前也搜集了一些资料&#xff0c;并做了排版整理&#xff0c;可以看这篇文章http://www.cnblogs.com/hustskyking/archive/2013/06/04/…

tkinter拦截关闭事件

import tkinter as tk from tkinter import messageboxroot tk.Tk()def on_closing():if messagebox.askokcancel("Quit", "Do you want to quit?"):root.destroy()root.protocol("WM_DELETE_WINDOW", on_closing) root.mainloop() 转载于:htt…

阿里云服务器一分价钱一分货,切记!

阿里云为了满足低端市场的需求&#xff0c;会推出一些价格非常便宜的机器&#xff0c;但是这些机器是为新手练手用或者做测试用的&#xff0c;性能不行。你不要指望花每月9.5元&#xff0c;买一台学生机&#xff0c;就可以放置流量大的网站还不卡&#xff0c;那个不现实。阿里云…

请记住:你的付出都会以该有的方式归来(图)

人&#xff0c;这一生就像一个耕种的农民。你不是在付出&#xff0c;就是在收获。当然&#xff0c;有人说&#xff0c;付出并不一定有回报。这是大多数人都认同的&#xff0c;也就是付出与得到不一定成正比&#xff0c;不是付出的越多就得到的越多。但我想告诉你的是&#xff0…

c++primer plus笔记

> 第六版 操作符重载 #include<iostream> using namespace std;class Time { public:Time(){hm0;}Time(int _h,int _m){h _h;m _m;}void show(){printf("%02d:%02d \n",h,m);}Time operator(const Time &t){Time result;result.m t.m m;result.h t…

Luogu P3975 [TJOI2015]弦论

题目链接 \(Click\) \(Here\) 题目大意&#xff1a; 重复子串不算的第\(k\)大子串重复子串计入的第\(k\)大子串写法&#xff1a;后缀自动机。 和\(OI\) \(Wiki\)上介绍的写法不太一样&#xff0c;因为要同时解决两个问题。 把字符串每个前缀所在等价类的\(siz\)记为\(1\)&#…

《 图解 HTTP 》读书笔记

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. TCP/IP 协议族按层次分为&#xff1a;应用层、传输层、网络层、数据链路层。 2. IP 协议的作用是把各种数据包传送给对方。 3. IP …

身体出现危险时会发出信号 这太重要了 一定收藏 !(组图)

太重要了&#xff01;真的太重要了&#xff01; 心脏有问题时———左边手臂会酸、麻、痛。 肝脏有问题时———小腿晚上睡觉时容易抽筋。 肾脏出现问题时———声音就会出不来&#xff0c;就会沙哑。 脾胃出现问题时———偏头痛。 任何试图更改生物钟的行为&#xff0c;都将给…

数据结构与算法-概念

计算机从解决数值计算问题到解决生活中的问题 现实生活中的问题涉及不同个体间的复杂联系 需要在计算机程序中描述生活中个体间的联系数据结构主要研究非数值计算程序问题中的操作对象以及它们之间的关系而不是研究复杂的算法 数据结构 基本概念 数据&#xff1a;程序的操作对象…

腾讯联手联通推出车联网“网卡”,打“内容”+“流量”的组合拳

车载生态已经成为了一个兵家必争之地了&#xff0c;于商业前景而言&#xff0c;这是一个BAT都无法忽视的掘金胜地。 从市场数据来看&#xff0c;全球车联网市场年复合增长率达到25%&#xff0c;根据汽车之家大数据显示&#xff1a;自2014年以来&#xff0c;车联网上市新车型渗…

编程面试中的十个常见错误

本文由 伯乐在线 - darkinlight 翻译自 thegeekstuff。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。 身为程序员&#xff0c;你肯定知道和其他技术工作面试比起来&#xff0c;编程工作的面试流程略有不同。 这篇文章会就你在编程面试中应当避免的10个问题展开讨…

费曼技巧与博客

费曼技巧与博客 什么是费曼技巧&#xff1f; 费曼技巧是一种学习方法&#xff0c;核心是以教促学。 具体实践 以学习费曼技巧为例&#xff1a; 确定学习目标为学习费曼技巧。寻找资料&#xff08;网络、书籍、报刊等&#xff09;学习费曼技巧&#xff0c;直到自己认为已经理解了…

阿里云服务器 CentOS 7上-- Docker 安装 网关(API-Getway)--KONG

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 全程操作按官方文档来就可以了。 1.将 Kong 连接到 Cassandra 或 PostgreSQL 容器 Kong支持 2 种数据库&#xff1a;Cassandra 或 Post…

每个程序员都应该了解的内存知识

英文原文&#xff1a;lwn.net&#xff0c;翻译&#xff1a;开源中国 [编辑的话: Ulrich Drepper最近问我们&#xff0c;是不是有兴趣发表一篇他写的内存方面的长文。我们不用看太多就已经知道&#xff0c;LWN的读者们会喜欢这篇文章的。内存的使用常常是软件性能的决定性因子&…

山区建小学

题目描述 政府在某山区修建了一条道路&#xff0c;恰好穿越总共nn个村庄的每个村庄一次&#xff0c;没有回路或交叉&#xff0c;任意两个村庄只能通过这条路来往。已知任意两个相邻的村庄之间的距离为d_idi​&#xff08;为正整数&#xff09;&#xff0c;其中&#xff0c;0<…

idea debugger console 不见了--还原 console 图标

1 找了好久&#xff0c;也找不到&#xff0c;调试的时候挺麻烦的。 2 最后发现 有个一个重置&#xff0c;视图的按钮。点击一下就恢复 。 如下图。转自&#xff1a;https://blog.csdn.net/changdejie/article/details/64127026

实验五:任意输入10个int类型数据,排序输出,再找出素数

import java.util.Scanner; public class Pxsushu {public static void main(String[] args) {// TODO Auto-generated method stubScanner s new Scanner(System.in);int temp;//对数组事先声明并创建10个空间int[] a new int[10];//把输入的数存储为数组for (int i 0; i &…

Vue笔记(六)——Vue组件通信Vuex

组件通信 vue本身的组件通信 父>子&#xff1a;父组件向子组件传参或者调用子组件的方法子>父&#xff1a;子组件向父组件传参或者调用父组件的方法兄弟之间&#xff1a;兄弟组件之间传参或者调用方法父子通信 传参 - props思路&#xff1a;定义子组件的属性&#xff08;…

灼灼夏日 - 遥思故乡 - 赤子无相忘

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 偶然翻看旧照片&#xff0c; 想起没有带过来的一本本诗集、散文集、手抄本、画册 ... 想起母亲的寄挂 ... 想起父亲的沉默 ... 想起少…

钱生钱最好的办法是什么?

当你养成理财的六种好习惯时&#xff0c;你能钱生钱了。这六种习惯是&#xff1a; 习惯一&#xff1a;记录财务情况。能够衡量就必然能够了解&#xff0c;能够了解就必然能够改变。如果没有持续的、有条理的、准确的记录&#xff0c;理财计划是不可能实现的。因此&#xff0c;在…