玩转maven

Posted 傻傻分不清楚

tags:

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

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。
-------------------------------------------------------------------------------------------------------------------

1、packing

  项目打包的类型,可以使jar、war、rar、ear、pom,默认是jar

2、dependencies和dependency

前者包含后者。前面说了,Maven的一个重要作用就是统一管理jar包,为了一个项目可以build或运行,项目中不可避免的,会依赖很多其他的jar包,在Maven中,这些依赖就被称为dependency

3、properties

  properties是用来定义一些配置属性的,例如project.build.sourceEncoding(项目构建源码编码方式),可以设置为UTF-8,防止中文乱码,也可定义相关构建版本号,便于日后统一升级。

4、build

  build表示与构建相关的配置,比如build下有finalName,表示的就是最终构建之后的名称。

接着解释一下Maven的目录结构:

  • main目录下是项目的主要代码,test目录下存放测试相关的代码
  • 编译输出后的代码会放在target目录下
  • src/main/java下存放Java代码,src/main/resources下存放配置文件
  • 这里没有webapp,Web项目会有webapp目录,webapp下存放Web应用相关代码
  • pom.xml是Maven项目的配置文件

----------------------------------------------------------------代码------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<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>
<parent>
<groupId>com.eoner.parent</groupId>
<artifactId>eoner.parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.eoner.hzb.main</groupId>
<artifactId>eoner.hzb.main</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>eoner.hzb.main</name>
<description>eoner.hzb.main xxxx公司 xxxx模块</description>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<!-- 不使用内置tomcat -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatisplus-spring-boot-starter</artifactId>
<version>${mybatisplus-spring-boot-starter.version}</version>
</dependency>
<!-- Json web token -->
<!--<dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId>
<version>${jwt.version}</version> </dependency> -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>runtime</scope>
</dependency>
<!--其他依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- json 序列化 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<!-- mybatis-plus 扩展 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
    <!--其他模块的依赖jar-->
<dependency>
<groupId>com.eoner.hzb.persistence</groupId>
<artifactId>eoner.hzb.persistence</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.eoner.core.rest</groupId>
<artifactId>eoner.core.rest</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.eoner.hzb.contacts</groupId>
<artifactId>eoner.hzb.contacts</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.eoner.hzb.user</groupId>
<artifactId>eoner.hzb.user</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>

<build>
<finalName>eoner.hzb.main</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>

</project>
构建模块的顺序就是------------------
persistence---》
rest--》
contacts---》

user---》
最后main模块





























































































































以上是关于玩转maven的主要内容,如果未能解决你的问题,请参考以下文章

玩转Bash变量

Java 技术咖教你玩转Apache Maven 插件

maven web项目的web.xml报错The markup in the document following the root element must be well-formed.(代码片段

java玩转区块链-基础篇-账户

java玩转区块链-基础篇-环境搭建

java玩转区块链-基础篇-solidity语法-基础类型