您现在的位置是:主页 > news > 网站找谁做/网站app免费生成软件

网站找谁做/网站app免费生成软件

admin2025/5/7 15:09:19news

简介网站找谁做,网站app免费生成软件,好的网站建设商家,网站建设背景图片Maven 进阶Maven 依赖机制传统方式Maven 的方式解释说明Maven POMPOM 的例子Maven 插件插件类型Maven 快照什么是快照?快照与版本Maven 依赖机制 在 Maven 依赖机制的帮助下自动下载所有必需的依赖库,并保持版本升级。让我们看一个案例研究,…

网站找谁做,网站app免费生成软件,好的网站建设商家,网站建设背景图片Maven 进阶Maven 依赖机制传统方式Maven 的方式解释说明Maven POMPOM 的例子Maven 插件插件类型Maven 快照什么是快照?快照与版本Maven 依赖机制 在 Maven 依赖机制的帮助下自动下载所有必需的依赖库,并保持版本升级。让我们看一个案例研究,…

Maven 进阶

  • Maven 依赖机制
    • 传统方式
    • Maven 的方式
    • 解释说明
  • Maven POM
    • POM 的例子
  • Maven 插件
  • 插件类型
  • Maven 快照
    • 什么是快照?
    • 快照与版本

Maven 依赖机制

在 Maven 依赖机制的帮助下自动下载所有必需的依赖库,并保持版本升级。让我们看一个案例研究,以了解它是如何工作的。假设你想使用 Log4j 作为项目的日志。这里你要做什么?

传统方式

  • 访问 http://logging.apache.org/log4j/
  • 下载 Log4j 的 jar 库
  • 复制 jar 到项目类路径
  • 手动将其包含到项目的依赖
  • 所有的管理需要一切由自己做
  • 如果有 Log4j 版本升级,则需要重复上述步骤一次。

Maven 的方式

  • 你需要知道 log4j 的 Maven 坐标,例如:
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
  • 它会自动下载 log4j 的 1.2.17 版本库
  • 声明 Maven 的坐标转换成 pom.xml 文件
<dependencies><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>
</dependencies>
  • 当 Maven 编译或构建,log4j 的 jar 会自动下载,并把它放到 Maven 本地存储库
  • 所有由 Maven 管理

解释说明

看看有什么不同?那么到底在 Maven 发生了什么?当建立一个 Maven 的项目,pom.xml 文件将被解析,如果看到 log4j 的 Maven 坐标,然后 Maven 按此顺序搜索 log4j 库:

  • 在 Maven 的本地仓库搜索 log4j
  • 在 Maven 中央存储库搜索 log4j
  • 在 Maven 远程仓库搜索 log4j(如果在 pom.xml 中定义)

Maven 依赖库管理是一个非常好的工具,为您节省了大量的工作

Maven POM

POM 代表项目对象模型。它是 Maven 中工作的基本单位,这是一个 XML 文件。它始终保存在该项目基本目录中的 pom.xml 文件。

POM 包含的项目是使用 Maven 来构建的,它用来包含各种配置信息。

POM 也包含了目标和插件。在执行任务或目标时,Maven 会使用当前目录中的 POM。它读取POM得到所需要的配置信息,然后执行目标。部分的配置可以在 POM 使用如下:

  • project dependencies
  • plugins
  • goals
  • build profiles
  • project version
  • developers
  • mailing list

创建一个POM之前,应该要先决定项目组(groupId),它的名字(artifactId)和版本,因为这些属性在项目仓库是唯一标识的。

POM 的例子

<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.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.zysheep</groupId><artifactId>hello-maven</artifactId><version>1.0</version>
<project>

要注意的是,每个项目只有一个 POM 文件

  • 所有的 POM 文件要项目元素必须有三个必填字段: groupId,artifactId,version
  • 在库中的项目符号是:groupId:artifactId:version
  • pom.xml 的根元素是 project,它有三个主要的子节点。
节点描述
groupId这是项目组的编号,这在组织或项目中通常是独一无二的。 例如,一家银行集团 com.company.bank 拥有所有银行相关项目。
artifactId这是项目的 ID。这通常是项目的名称。 例如,consumer-banking。 除了 groupId 之外,artifactId 还定义了 artifact 在存储库中的位置。
version这是项目的版本。与 groupId 一起使用,artifact 在存储库中用于将版本彼此分离。 例如:com.company.bank:consumer-banking:1.0,com.company.bank:consumer-banking:1.1

Maven 插件

Maven 是一个执行插件的框架,每一个任务实际上是由插件完成的。Maven 插件通常用于:

  • 创建 jar 文件
  • 创建 war 文件
  • 编译代码文件
  • 进行代码单元测试
  • 创建项目文档
  • 创建项目报告 一个插件通常提供了一组目标,可使用以下语法来执行:
mvn [plugin-name]:[goal-name]

例如,一个 Java 项目可以使用 Maven 编译器插件来编译目标,通过运行以下命令编译

mvn compiler:compile

插件类型

Maven 提供以下两种类型插件:

类型描述
构建插件在生成过程中执行,并在 pom.xml 中的 元素进行配置
报告插件在网站生成期间执行,在 pom.xml 中的,元素进行配置

以下是一些常见的插件列表:

插件描述
clean编译后的清理目标,删除目标目录
compiler编译 Java 源文件
surefile运行JUnit单元测试,创建测试报告
jar从当前项目构建 JAR 文件
war从当前项目构建 WAR 文件
javadoc产生用于该项目的 Javadoc
antrun从构建所述的任何阶段运行一组 Ant 任务

Maven 快照

大型应用软件一般由多个模块组成,一般它是多个团队开发同一个应用程序的不同模块,这是比较常见的场景。例如,一个团队正在对应用程序的应用程序,用户界面项目(app-ui.jar:1.0) 的前端进行开发,他们使用的是数据服务工程 (data-service.jar:1.0)。

现在,它可能会有这样的情况发生,工作在数据服务团队开发人员快速地开发 bug 修复或增强功能,他们几乎每隔一天就要释放出库到远程仓库。

现在,如果数据服务团队上传新版本后,会出现下面的问题:

  • 数据服务团队应该发布更新时每次都告诉应用程序 UI 团队,他们已经发布更新了代码。
  • UI 团队需要经常更新自己 pom.xml 以获得更新应用程序的版本。
    为了处理这类情况,引入快照的概念,并发挥作用。

什么是快照?

快照(SNAPSHOT)是一个特殊版本,指出目前开发拷贝。不同于常规版本,Maven 每生成一个远程存储库都会检查新的快照版本。

现在,数据服务团队将在每次发布代码后更新快照存储库为data-service:1.0-SNAPSHOT 替换旧的SNAPSHOT jar

快照与版本

在使用版本时,如果 Maven 下载所提到的版本为 data-service:1.0,那么它永远不会尝试在库中下载已经更新的版本 1.0。要下载更新的代码,data-service 的版本必须要升级到 1.1。

在使用快照(SNAPSHOT)时,Maven 会在每次应用程序 UI 团队建立自己的项目时自动获取最新的快照(data-service:1.0-SNAPSHOT)。