1. 为什么要使用maven?

毕业开始工作,项目组用的maven-spring开发的,不得不了解一下,看过很多介绍,其中maven最大的特点就是

管理jar包和版本管理

  (参考:https://www.cnblogs.com/zhangxh20/p/5134812.html

2.导入maven工程

  

导入工程本身不难,大多数工程与工程是相互依赖的,在编译运行的时候就容易会报错,批量将工程导入之后,逐个编译,在逐个运行,能减少因为项目依赖报错

其次的话,maven工程大多数都是通过pom.xml文件来管理的,所以了解pom.xml对学习maven很重要

(参考:https://www.cnblogs.com/xiaobaizhiqian/p/8214035.html

  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>...</groupId> 组别,一般为域名的反写
  <artifactId>...</artifactId>      项目名, 在Maven中查找类和方法或配置文件时就是以groupId和artifactId为坐标来进行的
  <version>...</version> 版本号,为了管理工程的版本,在引用依赖时,版本号也是不可缺少的,错误的版本号带来的麻烦。。。
  <packaging>...</packaging>       打包方式:一般父工程是以pom方式打包,子工程依赖于父工程以jar方式打包,一般在子工程的pom.xml里不会写这个标签对 <!-- 依赖配置 -->             在maven repository中查找依赖的按1.本地仓库、2.中央仓库、3.远程仓库的顺位查找目标jar
  <dependencies>                
    <groupId>...</groupId>        依赖过程中需要指明依赖的jar包域名、jar包名称以及版本号
    <artifactId>...</artifactId>
    <version>...</version>
  </dependencies>   
    <parent>...</parent>          父工程依赖  一般在子项目中出现,由父项目的pom.xml同一管理某些公共jar包的banbenhgai
<dependencyManagement>...</dependencyManagement>
<modules>...</modules>
<properties>...</properties> <!-- 构建配置 -->
<build>...</build>
<reporting>...</reporting> <!-- 项目信息 -->
<name>...</name>
<description>...</description>
<url>...</url>
<inceptionYear>...</inceptionYear>
<licenses>...</licenses>
<organization>...</organization>
<developers>...</developers>
<contributors>...</contributors> <!-- 环境设置 -->
<issueManagement>...</issueManagement>
<ciManagement>...</ciManagement>
<mailingLists>...</mailingLists>
<scm>...</scm>
<prerequisites>...</prerequisites>
<repositories>...</repositories>
<pluginRepositories>...</pluginRepositories>
<distributionManagement>...</distributionManagement>
<profiles>...</profiles>
</project>

3. maven工程 clean compile install记忆update。

  • clean,执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件
  • compile,编译命令,会在项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件
  • package,这个命令会在你的项目路径下一个target目录,并且拥有compile命令的功能进行编译,同时会在target目录下生成项目的jar/war文件
  • install,该命令包含了package命令功能,不但会在项目路径下生成class文件和jar包,同时会在你的本地maven仓库生成jar文件,供其他项目使用

所以正常编译项目只需要install就可以了

(参考:https://www.bbsmax.com/A/WpdKmGRAJV/

update project:当maven工程有结构上的变化时(pom文件或者*.classpath文件发生变化时),通常需要用更新工程的手段来新增或者修改相关文件。

maven工程入门的更多相关文章

  1. idea 创建maven工程(入门)

    转:http://blog.csdn.net/qq_32588349/article/details/51461182 1. 下载Maven 官方地址:http://maven.apache.org/ ...

  2. 关于idea maven工程创建struts2入门配置及案例

    1.在maven工程下添加需要导入的jar包节点 <dependencies> <dependency> <groupId>org.apache.struts< ...

  3. Maven——快速入门手册(学习记录)

    前言: 前段时间进行了一点maven的入门学习,在这里做个记录,希望能帮到一些正在学习的朋友们.maven版本为3.3.9.希望大家觉得好的点个赞,觉得不好的多提提意见和建议做个交流.这里也贴出我学习 ...

  4. (4)Maven快速入门_4在Spring+SpringMVC+MyBatis+Oracle+Maven框架整合运行在Tomcat8中

    利用Maven 创建Spring+SpringMVC+MyBatis+Oracle 项目 分了三个项目  Dao   (jar)   Service (jar)   Controller (web) ...

  5. (1)Maven快速入门_1maven安装

    Maven 快速入门 1.1 Maven官网下载     windows 系统 下载 下图红色框选处. 下载到本地解压, 创建一个本地maven仓库的目录 maven_lib 配置Maven的环境变量 ...

  6. spring 学习(一):使用 intellijIDEA 创建 maven 工程进行 Spring ioc 测试

    spring学习(一):使用 intellijIDEA 创建 maven 工程进行 Spring ioc 测试 ioc 概念 控制反转(Inversion of Control,缩写为IOC),是面向 ...

  7. Maven 学习(一)-Maven 使用入门

    http://www.cnblogs.com/xdp-gacl/p/3498271.html http://www.cnblogs.com/xdp-gacl/p/4240930.html 一.Mave ...

  8. Maven快速入门(一)Maven介绍及环境搭建

    做开发的程序员都知道,在系统开发需要各自各样的框架.工具.其中有一种工具不管你是初级程序员还是高级程序员都必须熟练掌握的,那就是项目管理工具(maven.ant.gradle).接下来就总结Maven ...

  9. Maven快速入门(二)手动创建maven项目hellomaven

    之前讲过Maven介绍及环境搭建,介绍了maven的作用和如何搭建maven环境.接下来就以一个helloworld的例子来说一说如何创建maven项目以及maven项目的项目结构,最后讲maven如 ...

  10. Drools创建Maven工程

    1.说明 本文介绍创建Drools的Maven工程的方法, 仅使用Eclipse开发工具, 不使用Drools的相关插件, 先创建一个Maven工程, 然后引入Drools的相关依赖即可, 最后再写一 ...

随机推荐

  1. 【git】2.5远程仓库的使用

    资料来源 (1) https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93% ...

  2. 01 流程控制之for循环

    '''1.什么是for循环 循环就是重复做某件事,for循环是python提供第二种循环机制2.为何要有for循环 理论上for循环能做的事情,while循环都可以做 之所以要有for循环,是因为fo ...

  3. 生态学建模:增强回归树(BRT)预测短鳍鳗生存分布和影响因素|附代码数据

    全文下载链接: http://tecdat.cn/?p=22482 最近我们被客户要求撰写关于增强回归树(BRT)的研究报告,包括一些图形和统计输出. 在本文中,在R中拟合BRT(提升回归树)模型.我 ...

  4. GrADS 读取NetCDF和HDF的ctl文件 SDF文件的描述文件

    翻译自http://cola.gmu.edu/grads/gadoc/SDFdescriptorfile.html 使用GrADS阅读NetCDF和HDF文件 NetCDF和HDF格式的文件被称作自描 ...

  5. matlab求解器的选择

    可以选择的变步长求解器有:ode45,ode23,ode113,odel5s,ode23s和discret.缺省情况下,具有状态的系统用的是ode45:没有状态的系统用的是discrete. 1)od ...

  6. debian/ubuntu下安装nodejs npm

    举例:在 /home 目录下 wget https://nodejs.org/dist/v16.17.1/node-v16.17.1-linux-x64.tar.xz nodejs官网下载地址,目前最 ...

  7. CF319D 题解

    题意 传送门 给你一个字符串 \(S\),要求你每次找到一个最短的并且最左边的形如 \(XX\)(即由两个相同的字符串拼接而成)的子串,然后把这个字符串从 \(XX\) 变成 \(X\).问无法操作后 ...

  8. hadoop克隆三台虚拟机安装JDK和hadoop并配置环境变量

    首先将模板虚拟机关机,进行对模板虚拟机的克隆. 选择完整克隆 克隆三台虚拟机. 注意虚拟机的移除与删除 打开hadoop102,修改ip地址与hostname 切换至root用户,或以root用户登录 ...

  9. 使用kubeadm快速部署k8s高可用集群

    二进制安装方法请移步到:二进制部署高可用kubernetes-1.22.7集群 一:环境初始化 系统规划 k8s-master01 192.168.113.100   k8s-master02 192 ...

  10. NTP时钟服务器(时间同步服务器)在大数据时代的重要性

    NTP时钟服务器(时间同步服务器)在大数据时代的重要性 NTP时钟服务器(时间同步服务器)在大数据时代的重要性 技术交流:岳峰 15901092122 bjhrkc@126.com    大数据时代众 ...