pom

简介: 【7月更文挑战第21天】

pom.xml 是 Maven 项目的配置文件,它遵循 XML 语法规则。Maven 是一个项目管理和构建自动化工具,用于管理项目的构建、报告和文档。pom.xml 文件定义了项目的基本信息、依赖、构建配置等。

基本语法规则:

  1. XML 声明:每个 XML 文件都应该以 XML 声明开始。

    <?xml version="1.0" encoding="UTF-8"?>
    
  2. 根元素projectpom.xml 的根元素。

    <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">
    
  3. 项目信息modelVersiongroupIdartifactIdversion 等是项目的基本属性。

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>demo-project</artifactId>
    <version>1.0-SNAPSHOT</version>
    
  4. 依赖管理dependencies 元素用于定义项目的依赖。

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
  5. 构建配置build 元素包含构建过程的配置。

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
  6. 属性继承:子 pom.xml 文件可以继承父 pom.xml 的配置。

使用方法:

  1. 创建项目:使用 Maven 命令 mvn archetype:generate 创建新项目。

  2. 添加依赖:在 pom.xml 中添加所需的库依赖。

  3. 构建项目:使用 Maven 命令 mvn clean install 构建项目。

  4. 运行项目:如果项目是可执行的,可以使用 mvn exec:java 运行。

  5. 管理依赖:使用 Maven 的依赖管理功能,确保依赖的正确性和版本一致性。

示例代码:

以下是一个简单的 pom.xml 文件示例:

<?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>

    <groupId>com.example</groupId>
    <artifactId>demo-project</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
目录
相关文章
|
Java Maven
maven篇4:pom文件详解
maven篇4:pom文件详解
979 3
|
SQL 关系型数据库 MySQL
MySQL唯一约束(UNIQUE KEY)
MySQL唯一约束(UNIQUE KEY)
1255 0
|
Android开发
Android Studio解决导入别人源码报红问题
当我们下载别人的源码导入到自己的Android Studio中时可能出现各种红色警告,不管是Clean Project还是Rebuild Project都不管用,但是尴尬的是源码还能正常运行,那我们该如何解决呢? 解决方法 :点击左上角File——>Invalidate Caches/Restarts.
2359 0
|
资源调度 JavaScript
yarn错误The engine “node“ is incompatible with this module
yarn错误The engine “node“ is incompatible with this module
914 0
|
数据库 索引
索引命名规范
本文介绍了数据库中不同类型的索引命名规则:主键索引命名为pk_字段名,唯一索引命名为uk_字段名,普通索引命名为idx_字段名。pk表示主键,uk表示唯一键,idx表示索引。
1137 7
|
弹性计算 运维 安全
阿里云服务器镜像怎么选?Linux和Windows有啥区别?
阿里云服务器镜像怎么选?Linux和Windows有啥区别?阿里云服务器镜像Windows和Linux操作系统有什么区别?性能有差异吗?有,同配置下Linux性能要优于Windows,但这与阿里云无关,仅仅是linux和windows之间的区别。另外,阿里云提供的windows和linux操作系统均为正版授权,用户不需要额外支付许可费用,如何选择?看用户自己的应用程序情况
746 0
|
canal 搜索推荐 关系型数据库
docker环境安装mysql、canal、elasticsearch,基于binlog利用canal实现mysql的数据同步到elasticsearch中(三)
docker环境安装mysql、canal、elasticsearch,基于binlog利用canal实现mysql的数据同步到elasticsearch中
594 0
|
运维 持续交付 API
深入理解并实践微服务架构:从理论到实战
深入理解并实践微服务架构:从理论到实战
520 3
|
Android开发
【eclipse】pom.xml 红叉的解决办法
【eclipse】pom.xml 红叉的解决办法
447 0