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>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.4</version>
</parent>
<groupId>com.chint.ufop</groupId> <!--父工程定义,可继承。子工程如果定义了就会覆盖-->
<artifactId>ufopparent</artifactId>
<version>1.1.4</version>
<packaging>pom</packaging><!--父工程的打包形式必须是pom,不配置的话默认就是jar-->
<properties>
<main.version>1.1.4</main.version>
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.SR9</spring-cloud.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<ufop-common.version>${main.version}</ufop-common.version>
<ufop.version>${main.version}</ufop.version><!--引用的是自身定义的变量-->
<aliyun.sdk.oss.version>3.13.2</aliyun.sdk.oss.version>
<fastdfs-client.version>1.26.2</fastdfs-client.version>
<commons-fileupload.version>1.4</commons-fileupload.version>
<jjwt.version>0.9.1</jjwt.version>
</properties>
<dependencyManagement><!--统一管理版本,子工程不用重复定义-->
<dependencies>
<dependency>
<groupId>com.chint.ufop</groupId>
<artifactId>ufop-common</artifactId>
<version>${ufop-common.version}</version>
</dependency>
<dependency>
<groupId>com.chint.ufop</groupId>
<artifactId>ufop-spring-boot-starter</artifactId>
<version>${ufop.version}</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jjwt.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>${pdf-box-version}</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacpp</artifactId>
<version>${javacpp.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<distributionManagement>
<repository>
<id>snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<!--定义一些开发者的描述信息-->
<licenses>
<license>
<name>MIT</name>
<url>https://opensource.org/licenses/MIT</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<name>MAC</name>
<email>1162714483@qq.com</email>
</developer>
</developers>
<scm>
<tag>master</tag>
<connection>https://gitee.com/qiwen-cloud/qiwenshare.git</connection>
<developerConnection>https://gitee.com/qiwen-cloud</developerConnection>
<url>https://gitee.com/qiwen-cloud/qiwenshare.git</url>
</scm>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<!-- Source -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Javadoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- GPG -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<distributionManagement>
<snapshotRepository>
<id>sonatype</id>
<url>
https://oss.sonatype.org/content/repositories/snapshots/
</url>
</snapshotRepository>
<repository>
<id>sonatype</id>
<url>
https://oss.sonatype.org/service/local/staging/deploy/maven2/
</url>
</repository>
</distributionManagement>
</profile>
</profiles>
</project>
子工程的pom
<?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.chint.ufop</groupId>
<artifactId>ufopparent</artifactId>
<version>1.1.4</version>
</parent>
<!-- <groupId>com.chint.ufop</groupId> 直接继承父工程pom的东西,编写的话就会覆盖-->
<artifactId>ufop-spring-boot-starter</artifactId>
<version>${project.parent.version}</version>
<packaging>jar</packaging>
<name>ufop-spring-boot-starter</name>
<description>ufop-spring-boot-starter</description>
<url>https://gitee.com/qiwen-cloud/ufop-spring-boot-starter</url>
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
</dependency>
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<exclusions>
<exclusion>
<artifactId>okhttp</artifactId>
<groupId>com.squareup.okhttp3</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- <dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency> -->
</dependencies>
</project>
相关推荐
maven 工程的 父工程maven-ssm-base 和 子工程,子工程有 maven-ssm-pojo,maven-ssm-mapper,maven-ssm-service,maven-ssm-controller.
"Maven聚合工程源码"是指一个包含多个子项目的Maven工程,这些子项目共享同一个父POM(Project Object Model),用于统一管理和构建。 在Maven聚合工程中,父POM通常不包含任何代码,而是作为子项目之间的协调者。...
创建父工程需要选择 Maven Project,并勾选两个复选框,以便建立一个可被继承的工程。 2. 建立子模块 创建子模块需要在父工程上右键新建一个 Maven Model,然后输入子模块名称。子模块可以是任何类型的项目,如 ...
1. **Maven父工程**:父工程主要用来集中管理子工程的公共配置,如共用的依赖、插件、属性等。通过在父pom.xml中定义这些信息,可以避免在每个子项目中重复配置。 2. **Maven依赖管理**:Maven使用坐标(groupId, ...
1. 创建Maven父工程,配置好通用的依赖和插件。 2. 创建子工程,分别为服务提供者和服务消费者,分别在父工程的`<modules>`中添加。 3. 在服务提供者工程中,编写服务接口和实现类,然后在`dubbo.properties`或XML...
1. **Maven父工程的作用**: - 统一版本管理:通过在父工程中定义依赖的版本,子项目无需重复指定,降低版本冲突的风险。 - 插件管理和配置:父工程可以定义常用插件及其配置,简化子项目的pom.xml文件。 - 编译...
2. 创建Maven父工程,选择创建Model工程,并指定为Maven工程。父工程的pom文件中packaging标签应设置为pom,表明这是一个父项目。 3. 在父工程中删除src目录,因为Maven父项目通常不包含具体的应用代码,只用来管理...
- 对每个子模块,右键点击父工程,选择“New -> Module”,再次选择“Maven”模板。 - 输入子模块的GroupId、ArtifactId和Version,确保它们与父工程一致,只是ArtifactId不同。 3. **配置子模块依赖** - 在每个...
** Maven 聚合工程(Aggregation)与继承(Inheritance)详解 ** 在软件开发中,Maven 是一个强大的项目管理和构建工具,它通过一套规范化的构建过程,帮助开发者管理项目的依赖、构建过程和配置。在 Maven 中,...
在这个过程中,我们将探讨如何使用 Spring Initializr 和 Maven 来构建一个包含多个子模块的父工程,以便更好地管理和组织代码。 首先,我们需要创建一个父工程,它将作为所有子模块的顶级容器。在 Maven 中,这样...
1.maven聚合工程,父工程统一管理依赖版本 2.分模块设计,模块之间通过jar包的方式互相引用 3.基于springboot框架 4.整合了Lombok、Spring MVC、Druid、Mybatis、MySQL
父工程主要负责定义共有的配置,如版本管理、依赖管理和插件设置,子工程则继承父工程的配置,专注于各自的功能实现。这样可以避免每个子模块重复配置,提高效率并保持一致性。 在SpringBoot项目中,我们首先需要...
总结来说,"lijie_study-parent-master.zip"是一个关于Mybatis的源码学习资源,通过分析其内部结构和配置,我们可以学习到如何创建和管理Maven父工程,以及如何利用父工程优化Mybatis项目开发。对于深入理解Mybatis...
Maven工程组织结构是Java开发中一个重要的概念,它定义了项目源码、资源、配置以及构建过程的标准布局。这种结构使得项目的管理和维护更加规范,提高了团队间的协作效率。以下将详细解析Maven工程的模块化目录结构...
### Maven创建Java工程项目详解 Maven作为Java世界中广受欢迎的构建工具,其强大的功能不仅限于项目的构建,还涵盖了依赖管理、项目信息管理和构建生命周期等多个方面。通过Maven,开发者能够高效地创建、构建和...
首先,我们需要创建一个Maven父工程,它将包含我们的starter模块和其他可能的子项目。在`pom.xml`中,设置适当的`groupId`,`artifactId`,以及`version`,并添加`packaging`类型为`pom`。 2. **创建Starter模块**...
1. **创建父工程**:首先,我们需要创建一个Maven父工程,配置pom.xml,包括定义版本号、公共依赖、插件管理等。 2. **创建子工程**:接着,根据项目需求创建多个子工程,每个子工程代表一个特定的业务模块,它们都...
Maven 项目的创建是通过创建一个 Maven 父工程来完成的。父工程的作用是为了项目的聚合和继承,能够统一管理项目的 jar 包版本。在本例中,创建了一个名为 itcast-parent 的父工程,并将其引入到 Mybatis 项目中。 ...
1. **Maven多模块项目结构**:一个典型的Maven多模块项目通常包括一个父模块(parent)和多个子模块(sub-modules)。父模块的`pom.xml`文件不包含任何代码,只负责设定共用的属性、版本号、依赖管理和构建插件。子...