Maven入门(含实例教程)

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>

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

这里写图片描述

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

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

这里写图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2305.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【数据结构】字典树TrieTree图文详解

    【数据结构】字典树TrieTree图文详解问题引入现在,我给你n个单词,然后进行q次询问,每一次询问一个单词b,问你b是否出现在n个单词中,你会如何去求呢?暴力搜索?但是我们如果这么做的话时间复杂度一下就高上去了。大家都是成熟的ACMer了,不要再惦记着暴力的方法啦,要优雅。你想想,问题的描述像不像查字典的操作?你平时是怎么查字典的?想想看?如果你要在字典中查找单词“Avalon”,你是不是先找到首字母为‘A’的部分,然后再找第二个单词为‘V’的部分······最后,你可能可以找到这个单词,当然,也有可能这本词典并没有这个单词。你想想看,

    2022年9月7日
    3
  • DDR之ODT_ddr3 std

    DDR之ODT_ddr3 std我们知道使用DDRSDRAM的主板上面为了防止数据线终端反射信号需要大量的终结电阻。它大大增加了主板的制造成本。实际上,不同的内存模组对终结电路的要求是不一样的,终结电阻的大小决定了数据线的信号比和反射率,终结电阻小则数据线信号反射低但是信噪比也较低;终结电阻高,则数据线的信噪比高,但是信号反射也会增加。因此主板上的终结电阻并不能非常好的匹配内存模组,还会在一定程度上影响信号品质。DDR2可以根据

    2022年9月9日
    4
  • Jlink接口引脚定义「建议收藏」

    Jlink接口引脚定义「建议收藏」做东西时经过上网找引脚图接线,mark一下,以备后用:

    2022年5月28日
    78
  • C语言 函数指针和指针函数及Main()函数

    C语言 函数指针和指针函数及Main()函数正文先来看看两者的定义以及说明。指针函数定义指针函数,简单的来说,就是一个返回指针的函数,其本质是一个函数,而该函数的返回值是一个指针。声明格式为:类型标识符*函数名(参数表)这似乎并不难理解,再进一步描述一下。看看下面这个函数声明:intfun(intx,inty);这种函数应该都很熟悉,其实就是一个函数,然后返回值是一个int类型,…

    2022年6月22日
    24
  • pytest fixtures_premier fixture

    pytest fixtures_premier fixturefixture的优势Pytest的fixture相对于传统的xUnit的setup/teardown函数做了显著的改进:命名方式灵活,不局限于setup和teardown这几个命名conf

    2022年7月30日
    6
  • 广东公布重点项目名单:茂名天源石化碳三碳四资源利用项目等[通俗易懂]

    广东公布重点项目名单:茂名天源石化碳三碳四资源利用项目等[通俗易懂]广东省发展改革委官网3月31日公布《广东省2021年重点建设项目计划》。2021年广东共安排省重点项目1395个,总投资达7.28万亿元,年度计划投资8000亿元。石化重大项目方面:新开工项目有3个,总投资约267亿元,年度投资约60.5亿元,分别是恒力石化(惠州)PTA项目、东华能源(茂名)烷烃资源综合利用项目(一期)、茂名天源石化碳三碳四资源利用项目。续建项目有7个,总投资超过1500亿元,2021年度投资约160.9亿元。分别是埃克森美孚惠州乙烯项目、惠州石化产品结构优化及升级项目、惠州宇新轻

    2022年10月15日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号