项目管理是个高深的问题,代码管理同样也是一个高深的问题。在Java的世界里,Maven作为代码指挥部能够很好的进行代码管理。下面说说Maven在java项目中的使用条款:

1. Maven项目中最主要最核心的东西是pom.xml(其中pom是project object model的缩写),它类似与c世界中的Makefile文件,定义了项目的基本信息,描述了项目该怎么样去构建,构建的文件如何管理,以及项目依赖的jar包等等。

2. Maven项目的pom.xml文件中定义项目的基本信息是groupId,artifaceId以及version。这三个元素可以认为是Maven项目空间中的三维正交立体坐标系,任何的jar、pom以及war都是采用这个三维空间的唯一点,可以进行区分。三者的功能可以从字面上获得,groupId即是组织或者公司的名字,artifaceId定义了当前Maven项目在组织中唯一的Id,而Version是该项目的版本号,其中SNAPSHOP是还处于开发中,不稳定的版本。

3.pom.xml文件最大程度地独立于实际代码,只需要改变pom文件就可以使项目升级,当项目升级后日常的代码开发工作不需要修改pom文件。

4.Maven项目将项目的主代码和测试代码分开,其中主代码默认是放在src/main/java文件下,而测试代码放在src/test/java下。

5.Maven最主要的命令有:mvn clean complie、mvn clean test、mvn clean package、mvn clean install。其中mvn clean compile只是简单的编译,而mvn clean test是编译之后会执行test,同样执行mvn clean package会在执行test之后执行package,mvn clean install会在install之前执行package。但是Maven默认打包的jar是不能够直接运行的,因为带有main方法的类型不会添加到manifest中。为了生成可执行的jar文件,需要借助maven-shade-plugin。具体如何配置插件可以参见:http://stackoverflow.com/questions/10483180/maven-what-is-pluginmanagement

6.不要使用IDE内嵌的Maven,因为无论是eclipse还是netbeans,它们集成的maven都比较新,但不一定稳定,因此往往会和采用命令行输入maven命令使用的maven版本不一致,导致构建形成的不一致。总之,需要将IDE中默认的maven修改为手动安装maven的目录。

7.Maven采用集中仓库的方式来管理代码,因此不同项目中使用相同的jar(三维坐标相同)只会下载一次。

Maven使用(1)相关推荐

  1. SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos

    SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...

  2. OpenAPI使用(swagger3),Kotlin使用swagger3,Java使用swagger3,gradle、Maven使用swagger3

    OpenAPI使用(swagger3) demo见Gitte 一.背景及名词解释 OpenAPI是规范的正式名称.规范的开发工作于2015年启动,当时SmartBear(负责Swagger工具开发的公 ...

  3. Gradle 将项目publish到Nexus,Kotlin将项目发布到nexus,springboot项目发布到maven仓库

    示例见:Gitte 公仓设置 在项目中添加maven-publish的插件 plugins {kotlin("jvm") version "1.3.72"kot ...

  4. springboot项目使用junit4进行单元测试,maven项目使用junit4进行单元测试

    首先,maven项目中引入依赖 <dependency><groupId>junit</groupId><artifactId>junit</ar ...

  5. IDEA中maven的命令及作用

    maven中的Lifecycle中的那些按钮都有哪些,都有什么功能呢? validate:验证项目的正确性以及包含所有必要的信息 compile:编译源码 test:编译和运行测试代码 package ...

  6. 如果你没用过maven的install,你应该了解一下!maven中的install功能及用法。

    maven中有一个大多数人都忽视或者没有用到过的一个功能--install,大多数java开发人员都了解maven,使用maven进行依赖管理.但使用的大多数功能不过是clean清理.compile编 ...

  7. 使用Maven打包生成的-SNAPSHOT.jar与-RELEASE.jar分别代表什么?SNAPSHOT是什么意思?RELEASE是什么意思?

    使用Maven打包后生成 XXXXXXX-1.0.0-SNAPSHOT.jar 和 XXXXXXX-1.0.0-RELEASE.jar 的区别???? 首先,根本原因:这是因为你的pom.xml中的项 ...

  8. 手动将jar包导入pom依赖,让jar包适配本地maven项目

    前言: Oracle对maven很久没有更新依赖,虽然19年更新了一版,但pom引入一直有错误. 我用的是oralce 12的依赖,虽然有jar包,但是依赖和pom没有适配,项目打包的时候还要去中央仓 ...

  9. pom文件中引入常用的maven仓库

    给大家分享几个maven仓库,如果本地总是下载很慢的话可以尝试换一下仓库或者多加几个.可以直接拖放在pom.xml中使用. 阿里云仓库 <mirrors><mirror>< ...

  10. Maven安装与配置(最实用!!!)eclipse中配置maven

    Maven安装与配置 一.需要准备的东西 JDK Eclipse(本章主要是在eclipse中进行配置maven) Maven程序包 二.下载与安装 1. 前往maven下载最新版的Maven程序: ...

最新文章

  1. 使用Android SDK Manager下载sdk时总是出现中断异常的解决办法。
  2. 爱奇艺六季度付费用户数据一览,巨头A股还有希望吗?
  3. python 标准差内数据概率怎么求_Python-统计概率
  4. delphi 打印指定地点文件_2020年度电脑、打印机耗材及相关配件采购招标公告
  5. java hashmap实例,关于java中的HashMap的实例操作
  6. YbtOJ#631-次短路径【左偏树,最短路】
  7. java语言特点解释类_Java语言特点
  8. clickhouse SummingMergeTree表引擎
  9. 《Java核心技术卷一》读书笔记(二)
  10. 数据分析工作常见的七种错误及规避技巧
  11. python项目方案书模板格式_项目策划书模板范文
  12. That's why you go away
  13. android wifi优化,WiFi信号如何快速优化? 安卓APP来帮忙
  14. ue4生成粒子发射器
  15. 一辈子不用考试?你可能是个假程序员,小心成杠精
  16. java无法读取方案文档_解决Spring的java项目打包后执行出现“无法读取方案文档...“、“原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是...”问题...
  17. [GXYCTF2019]禁止套娃--详解
  18. 【入门】小明的幸运数
  19. Ubuntu操作-03 设置开机自启
  20. HTML5期末大作业:校园二手书交易网站

热门文章

  1. 我学习从事项目经理第五课
  2. 两个独立同分布的指数分布相加服从什么分布
  3. mysql建立数据库并给定别名_MySQL数据库基本操作(四)
  4. 移动端音视频从零到上手
  5. top介绍RES与VIRT区别
  6. Java全栈工程师学习
  7. niagara框架中串口的打开方式
  8. 【tinyint和int区别】
  9. 《数据结构与算法》——树与二叉树之遍历总结
  10. java项目结局篇之项目进度