Maven基础一

Posted xuweiweiwoaini

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven基础一相关的知识,希望对你有一定的参考价值。

1 maven的基本介绍

  • maven是Apache组织的一个开源项目。是项目的构建工具。
  • 用来管理依赖。

 

2 maven的好处

  • 依赖管理:就是对jar包的统一管理。

技术分享图片

 

  • 项目构建:项目在编码完成后,对项目编译、测试、打包、部署等操作。

 

3 maven的安装和配置

3.1 maven的安装

技术分享图片

  • 配置环境变量

技术分享图片

技术分享图片

技术分享图片

3.2 配置

3.2.1 配置JDK的版本

  • 在conf/settings.xml中配置
<!-- 全局jdk配置,settings.xml -->
    <profile>  
        <id>jdk18</id>  
        <activation>  
            <activeByDefault>true</activeByDefault>  
            <jdk>1.8</jdk>  
        </activation>  
        <properties>  
            <maven.compiler.source>1.8</maven.compiler.source>  
            <maven.compiler.target>1.8</maven.compiler.target>  
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>  
        </properties>   
    </profile>  

技术分享图片

3.2.2 配置本地仓库

  • 新建一个文件夹作为本地仓库,然后在conf/settings.xml中配置
<localRepository>D:/develop/apache-maven-3.5.4/repository</localRepository>

技术分享图片

 

3.2.3 配置阿里云maven地址

  • 国内这坑爹的网速,只有配置阿里云maven地址来加速。
  • 在conf/settings.xml中配置
<mirror>  
  <id>alimaven</id>  
  <name>aliyun maven</name>  
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
  <mirrorOf>central</mirrorOf>          
</mirror>

技术分享图片

 

4 maven项目标准目录结构

  • src:项目的源代码
    • main
      • java:源代码
      • resources:配置文件
      • webapp:相当于IDEA中的web目录  
    • test 
      • java
      • resources   
  • pom.xml:maven项目的核心配置文件

 

5 maven常用的命令

5.1 clean:清理

mvn clean
  • 将项目根路径下的target目录删除。

5.2 compile:编译 

mvn compile
  • 将项目中.java文件编译成.class文件。

5.3  test:执行单元测试

mvn test
  • 将项目根目录下的src/test/java目录下的单元测试类都会执行。
  • 单元测试名有限制:必须以Test结尾。

5.4 package:打包

mvn package
  • 如果是web项目,就会打成war包。
  • 如果是Java项目,就会打成jar包。

5.5 install:安装

mvn install
  • 解决本地多个项目公用一个jar包的问题。

 

6 maven整合web项目案例

 

以上是关于Maven基础一的主要内容,如果未能解决你的问题,请参考以下文章

曹工杂谈Maven底层容器Plexus Container的前世今生,一代芳华终落幕

Maven官宣:干掉Maven和Gradle!推出更强更快更牛逼的新一代构建工具,炸裂!

新一代Java高性能构建工具Maven-mvnd实践可行版

Java基础:封装

一步一图一代码,一定要让你真正彻底明白红黑树

miniui后台无法接收到input传值