JAVA架构与开发(maven编程之美)

       一套好的代码不仅容易阅读而且容易开发与拓展。在JAVA开发与架构中,引入第三方java类库和管理类库maven已经是必不可少的工具。但是很多程序员或者架构师有时并不注意maven的规范使用。都是复制粘贴,能够引入包就置之不理了。随着代码功能越来越多,拆分的服务越来越多,后面就显得杂乱无章,系统架构难以阅读,有时还存在相同的功能不同模块使用第三方库不同版本的情况,给以后的升级和维护又挖下了不少坑。

      有时候,如果我们使用maven足够规范,我们通过阅读maven的  <properties>  </properties>标签就知道了系统的架构。如所有的第三方引入类库版本集中管理。

如:

从引入的第三方类库中,我们就可以看出系统架构使用了maven进行构建,JDK使用1.8的版本。

使用的springCloud2020.0.3和springboot 2.5.2为架构框架。使用了mysql数据库,使用了连接池,mybatis持久化框架,阿波罗配置中心。JSON转换工具,hutool工具类库,日志框架,jwt验证框架,rocketmq等。

   <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <base.version>1.0-SNAPSHOT</base.version>
        <java.version>1.8</java.version>
        <spring-cloud.version>2020.0.3</spring-cloud.version>
        <spring-boot.version>2.5.2</spring-boot.version>
        <mysql.version>8.0.17</mysql.version>
        <druid.version>1.1.13</druid.version>
        <mybatisplus.version>3.4.3.4</mybatisplus.version>
        <mybatis-spring.version>2.2.0</mybatis-spring.version>
        <apollo.version>1.8.0</apollo.version>
        <dameng.version>7.6.0.142</dameng.version>
        <fastjson.version>1.2.83</fastjson.version>
        <swagger2.version>2.9.2</swagger2.version>
        <hutool.version>5.7.7</hutool.version>
        <poi.version>3.17</poi.version>
        <commons-lang3.version>3.8.1</commons-lang3.version>
        <xstream.version>1.4.18</xstream.version>
        <log4j-to-slf4j.version>2.15.0</log4j-to-slf4j.version>
        <java-jwt.version>3.8.2</java-jwt.version>
        <zxing.version>3.3.0</zxing.version>
        <barcode4j.version>2.1</barcode4j.version>
        <bcprov-jdk15to18.version>1.66</bcprov-jdk15to18.version>
        <rocketmq.version>4.7.1</rocketmq.version>
    </properties>

如果maven管理中太多类似这样的管理模式,架构会显得遗漏和难以阅读。

-----------------------------

Maven的原理与使用

一、Maven简介

Maven是一款强大的项目管理工具,主要用于Java项目的构建和管理。它采用了一种声明式的方式描述项目结构和依赖关系,使得开发者能够更加专注于项目本身,而不是一些繁琐的构建过程。

二、Maven原理

  1. 项目对象模型(POM)

Maven的核心是项目对象模型(Project Object Model,POM)。POM是项目的元数据,包含了项目的各种属性和配置信息。在POM中,可以定义项目的坐标(groupId、artifactId和version)、依赖、插件、资源、目标等。通过POM,Maven能够理解项目的结构和依赖关系,从而进行自动化构建和管理。

  1. 依赖管理

Maven的依赖管理功能非常强大。通过在POM中声明依赖,Maven可以自动下载和管理这些依赖。开发者只需要关注依赖的坐标,而不需要手动下载和配置。此外,Maven还支持传递性依赖和可选依赖,使得依赖管理更加灵活和方便。

  1. 插件机制

Maven的插件机制使得构建过程自动化。通过在POM中配置插件,可以自动执行特定的任务,如编译、测试、打包等。插件的执行依赖于目标(goal),一个插件可以有多个目标,每个目标对应一个特定的任务。通过目标,可以将插件与构建流程关联起来,从而实现自动化构建。

  1. 仓库管理

Maven需要从仓库中下载依赖和插件。默认情况下,Maven会从中央仓库下载。开发者也可以配置自己的仓库,以便从私有仓库下载依赖和插件。仓库管理是Maven的一个重要组成部分,确保了构建过程中的依赖和插件能够被正确地下载和管理。

三、Maven使用

  1. 安装Maven

首先,需要下载并安装Maven。可以从Maven官网下载最新版本的安装包,并按照官方文档进行安装。安装完成后,可以通过命令行工具验证是否安装成功。

  1. 创建项目

使用Maven命令行工具创建一个新的Java项目。可以通过以下命令创建一个名为“my-project”的项目:

mvn archetype:generate -DgroupId=com.example -DartifactId=my-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

上述命令会使用maven-archetype-quickstart原型创建一个新的项目结构。在项目结构中,包含了src/main/java、src/main/resources、src/test/java等目录,以及一个包含main和test入口的App.java文件。

  1. 编写代码

在src/main/java目录下编写Java代码。同样地,在src/main/resources目录下配置资源文件。在src/test/java目录下编写测试代码。

  1. 构建项目

使用以下命令构建项目:

mvn clean install

上述命令会执行以下操作:清理(clean)之前的构建结果、编译(compile)源代码、测试(test)代码、打包(package)项目等。如果构建成功,会在target目录下生成一个jar包或war包等。

  1. 运行项目

如果项目是一个可执行的Java应用,可以使用以下命令运行:

 
mvn exec:java -Dexec.mainClass=com.example.MyApp

上述命令会执行指定的mainClass,即com.example.MyApp。如果项目是一个Web应用,需要先启动服务器,如Tomcat,然后部署到服务器上运行。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋力向前123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值