点击登录,精彩内容等着你

(2)Maven使用方法+名词解析+编译使用

全栈侠客

2022-08-01
结合Maven在实际项目开发中的使用方法,编译项目,生成运行jar包等相关的项目级别的配置,让你了解项目中有关maven中的配置信息,了解项目的组成结构。

本章主要学习Maven在项目中的配置方式,使用方法,力求简单易用够用的原则
其他高级特性本章不涉及

一、Maven标准工程项目结构与说明

Maven通过一定的项目结构,来规范项目源码的代码解组成结构,便于后面maven的对项目代码的管理与编译。

  1. |-- pom.xml(maven的核心配置文件)
  2. |-- src
  3. |-- main
  4. |-- java(java源代码目录)
  5. |-- resources(资源文件目录)
  6. |-- test
  7. |-- java(单元测试代码目录)
  8. |-- target(输出目录,所有的输出物都存放在这个目录下)
  9. |-- classes(编译后的class文件存放处)
  • Eclipse中对项目的结构展示例子如下:

二、Maven项目核心配置pom.xml

1)单个工程项目结构

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <parent>
  5. <groupId>com.leanboot</groupId>
  6. <artifactId>leanbootcom-micro-starter-parent</artifactId>
  7. <version>1.0</version>
  8. </parent>
  9. <artifactId>项目唯一的标识符,实际对应项目的名称</artifactId>
  10. <groupId>项目组织唯一的标识符,实际对应 JAVA 的包的结构</groupId>
  11. <name>项目名称</name>
  12. <packaging>jar</packaging>
  13. <description>描述</description>
  14. <properties>
  15. <java.version>1.8</java.version>
  16. </properties>
  17. <!-- 4.引用父类库/同级别的具体模块 -->
  18. <dependencies>
  19. <dependency>
  20. <groupId>com.vroot</groupId>
  21. <artifactId>vroot-xbase</artifactId>
  22. <version>1.0</version>
  23. </dependency>
  24. </dependencies>
  25. </project>

==声明节点==
groupId - 团体、组织的标识符
artifactId - 单独项目的唯一标识符(不要包含点号.)
version - 一个项目的特定版本(非必填)
packaging - 项目打包类型 jar或者war(必填)
name - 名称(非必填)
description - 项目描述(非必填)


==properties节点==
变量属性的配置节点,一般为特定一些构建的版本号等


==添加外部依赖jar包节点dependencies==

  1. <dependency>
  2. <groupId>项目组织唯一标识符</groupId>
  3. <artifactId>项目唯一标识符</artifactId>
  4. <version>jar包版本号</version>
  5. <scope>作用范围:compile、runtime、test、system 和 provided</scope>
  6. </dependency>

2)父子工程项目结构

Maven可以创建父子工程的项目结构,父工程pom.xml的配置能运用到子工程中,项目代码结构如下:

  1. +- pom.xml
  2. +- sub-app1
  3. | +- pom.xml
  4. | +- src
  5. | +- main
  6. | +- java
  7. +- sub-app2
  8. | +- pom.xml
  9. | +- src
  10. | +- main
  11. | +- java

其pom.xml的结构一般如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <!-- 1.定义引用父级库 -->
  6. <parent>
  7. <groupId>com.vroot</groupId>
  8. <artifactId>vroot-starter-parent</artifactId>
  9. <version>1.0</version>
  10. </parent>
  11. <!-- 2.定义本module的starter -->
  12. <groupId>com.leanboot</groupId>
  13. <artifactId>leanbootcom-micro-starter-parent</artifactId>
  14. <version>1.0</version>
  15. <packaging>pom</packaging>
  16. <!-- 3.本module的列表 -->
  17. <modules>
  18. <module>sub-app1</module>
  19. <module>sub-app2</module>
  20. </modules>
  21. </project>

==声明节点==
packaging - 需要配置成pom


==modules模块节点==

对应每一个模块的项目名称

三、利用spring boot maven插件打包为jar包

往项目的pom.xml中,插入的spring-boot-maven-plugin,就能让项目具有maven打包的能力。

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin</artifactId>
  6. </plugin>
  7. </plugins>
  8. <resources>
  9. <resource>
  10. <directory>lib</directory>
  11. <targetPath>target/lib/</targetPath>
  12. <includes>
  13. <include>../*.jar</include>
  14. </includes>
  15. </resource>
  16. <resource>
  17. <directory>src/main/resources</directory>
  18. <targetPath></targetPath>
  19. </resource>
  20. </resources>
  21. </build>

总结:以上两章,已经对Maven的基本基础概念,安装注意事项,常用节点介绍做了一个描述,对大部分的项目开发已经够了,对于更加高级的Maven使用,请参考别的教程。
接下来将介绍实际在开放工具IDE Eclipse实践使用方法,maven的使用将更加形象呈现在你面前。

阅读 847     最后编辑 2022-09-26 18:48
文章补充
评论(0) 发表新评论
  • ...暂无评论...

我是有底线的 评论与点赞5分钟更新一次
回复评论
取消关闭

请先登录