Maven

Maven官网:https://maven.apache.org/

Apache Maven 是一个软件项目管理和理解工具。基于项目对象模型 (POM) 的概念,Maven 可以从一条中央信息中管理项目的构建、报告和文档。

主要用来生成、导入和配置jar包,在Maven 中约束大于配置 目录结构必须按照规范

Maven安装

官网下载安装包解压即可

Maven配置环境变量

windows中配置maven环境变量

mac下环境变量配置(这里后面方便项目搭建 换成了3.6.3的版本)

# Maven 3.8.1 START
export M2_HOME=/Users/bjdzbjba0152/Desktop/javacode/enviorment/apache-maven-3.8.1
export PATH=$PATH:$M2_HOME/bin
# Maven 3.8.1 END # Maven 3.6.3 START
export M2_HOME=/Users/bjdzbjba0152/Desktop/javacode/enviorment/apache-maven-3.6.3
export PATH=$PATH:$M2_HOME/bin
# Maven 3.6.3 END

Maven配置aliyun镜像

配置文件位于 conf/settings.xml

<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

Maven本地仓库

<localRepository>/Users/b/Desktop/javacode/enviorment/apache-maven-3.8.1/maven-repo</localRepository>

从镜像拉取包

mvn help:system

最后没有报错说明安装就没问题了

IDEA中使用Maven

创建一个Maven项目

next,不选自带的,选择刚才下载的3.8.1

点击finish就ok了

打开Preference 可以看下关于maven的相关配置,因为有时IDEA会自动使用默认的Maven,如果出现类似情况需要手动改一下

关于其他几项配置

importing

Ignored Files

Runner

Repositories 本地仓库

创建一个普通的Maven项目

Maven纯净项目概览

Maven项目配置Tomcat

在run=>Edit Configurations

设置基础信息

解决fix报错内容,添加一个artifact即可。下面的Application context可写可不写,是指定路由的

点击+无artifact解决:

打开Project Structure ==> 选择Artifacts ==> Web Application:Exploded

选择自己的项目就好了

回到Edit Configurations,就已经出现了Artifact...选项了

Maven侧边栏

Maven中的pom.xml

pom.xml是maven的核心配置文件,注意<dependencies>这里可以根据远程仓库选择自己的依赖jar包,只要在配置文件加入该包的<dependency> Maven即可自动导入该jar包也包括这个jar包所依赖的其他jar包。

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<?xml version="1.0" encoding="UTF-8"?>
<!--Maven版本和头文件-->
<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> <!--GAV配置(group id,artifact id, version)-->
<groupId>com.zh1z3ven</groupId>
<artifactId>javawebTestDemo</artifactId>
<version>1.0-SNAPSHOT</version> <!-- 项目打包方式
jar: java应用
war: javaweb应用
-->
<packaging>war</packaging>
<!--项目名称(可删)-->
<name>javawebTestDemo Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url> <!--配置-->
<properties>
<!-- 项目默认构建编码-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 项目默认编译版本-->
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties> <!-- 项目依赖-->
<dependencies>
<!-- 具体依赖jar包配置-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies> <!-- 项目构建用的东西-->
<build>
<finalName>javawebTestDemo</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>

Maven观察jar包依赖树

关于Maven导出问题

由于Maven约定大于配置,我们之后可能遇到我们写的配置文件无法导出或生效

解决方法:在build下面加一个resource,配置一个resource节点,防止资源导出失败

因默认在java目录下,根据maven的约束只能写java文件,如果这时该目录存在xml文件则无法导出

<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>

IDEA中Maven的使用初探的更多相关文章

  1. Maven使用笔记(二)Eclipse中maven项目添加依赖

    1.在Eclipse中创建Eclipse项目后如何添加jar包? 点击pom.xml文件.我们可以看到下面有7个标签. 各个标签的含义如下: Overview:显示maven项目的一些基本信息Depe ...

  2. 关于myeclipse中maven项目转换相关设置

    关于myeclipse中maven项目转换相关设置 在myeclipse菜单中,Configure->Convert to Maven Project 这个菜单 如果没有的话,需要做如下设置: ...

  3. 转载Eclipse中Maven WEB工程tomcat项目添加调试

    转载地址: http://blog.csdn.net/free4294/article/details/38260581 一.建立一个maven  WEB项目 1.file->new->o ...

  4. maven下载,安装与eclipse中maven配置

    1.maven下载.安装与环境变量配置 http://blog.csdn.net/jiuqiyuliang/article/details/45390313 2.Eclipse中maven的配置 ht ...

  5. Eclipse中Maven的配置

    Maven 的配置 1. 安装配置Maven: 1.1 从Apache网站 http://maven.apache.org/ 下载并且解压缩安装Apache Maven 1.2 配置 Maven 的c ...

  6. IDEA中MAVEN项目Dependency not found 问题

    STEP1: 更新IDEA保存的仓库索引.操作步骤File->Setting->Maven->Repositories->Update.dependecy not found问 ...

  7. Eclipse 中 Maven 项目默认JDK版本为1.5 的解决方法

    在 Eclipse 中 Maven project 的默认 JDK 版本是 1.5, 如果不在 settings.xml 或者 pom.xml 中显示的指出 JDK 版本,每次 右键项目--> ...

  8. eclipse中maven项目jar包不会自动下载解决办法

    Eclipse中maven从远程仓库中下载jar包有时会很慢,有些甚至进度停止不动,这个时候我们可能会终止当前下载,但是终止jar包下载后会出现一个问题,再次打开Eclipse时,你会发现提示你项目中 ...

  9. idea中 maven打包时时报错User setting file does not exist C:\Users\lenevo\.m2\setting.xml,

    第一种错误 :idea中 maven打包时时报错User setting file does not exist C:\Users\lenevo\.m2\setting.xml, 解决方案如下:将ma ...

随机推荐

  1. 6-x3 declare和typeset命令:设置变量属性

    declare 和 typeset 都是 Shell 内建命令,它们的用法相同,都用来设置变量的属性.不过 typeset 已经被弃用了,建议使用 declare 代替.declare 命令的用法如下 ...

  2. redis学习笔记(三)——redis的命令大全总结

    总结了一些redis五种存储类型的常用命令以及一些通用操作命令,不是很全,是在学习的时候将学到的做了个汇总,使用的时候可以查一下. 笔记写在表格里面了,不好粘贴.......后面的直接截图了..... ...

  3. 在CentOS7环境下部署weblogic集群

    一)环境准备 服务器操作版本系统 CentOS7 weblogic版本包 weblogic1036_generic.jar(weblogic11g) JDK jdk-8u191-linux-x64.t ...

  4. ESP32的Flash加密知识

    一.Flash 加密功能用于加密与 ESP32-S2 搭载使用的 SPI Flash 中的内容.启用 Flash 加密功能后,物理读取 SPI Flash 便无法恢复大部分 Flash 内容.通过明文 ...

  5. java基础---集合(1)

    一. 基本概念 集合.数组都是对多个数据进行存储操作的结构,简称Java容器 数组:长度确定,类型确定,对于添加.删除.插入等操作效率不高,元素有序可重复 Java中集合框架顶层框架是:java.ut ...

  6. python04篇 文件操作(二)、集合

    一.文件操作(二) 1.1 利用with来打开文件 # with open ,python 会自动关闭文件 with open('a.txt', encoding='utf-8') as f: # f ...

  7. 开源桌面快速启动工具-GeekDesk

    GeekDesk 小巧.美观的桌面快速启动工具 开发框架 wpf .net 4.7.2 HandyControl 全局热键 鼠标跟随 快速启动 随时随地 支持自定义热键 支持鼠标跟随 自定义壁纸 随意 ...

  8. JavaScript实现拖放效果

    JavaScript实现拖放效果 笔者实现该效果也是套用别人的轮子的.传送门 然后厚颜无耻的贴别人的readme~,笔者为了方便查阅就直接贴了,有不想移步的可以看这篇.不过还是最好请到原作者的GitH ...

  9. 利用C++11可变模板,封装调用dll导出函数

    起因 开发中经常需要动态调用一些导出函数,试着利用C++11特性封装一下 尝试 常规使用 typedef int WINAPI (*TMessageBoxA)(HWND hWnd,LPCSTR lpT ...

  10. 用 JavaScript 刷 LeetCode 的正确姿势【进阶】

    之前写了篇文章 用JavaScript刷LeetCode的正确姿势,简单总结一些用 JavaScript 刷力扣的基本调试技巧.最近又刷了点题,总结了些数据结构和算法,希望能对各为 JSer 刷题提供 ...