Maven多模块项目经验

本文分享了使用Maven构建多模块项目的经验,包括maven的作用、生命周期、打包方法、依赖管理和多模块项目的构建。重点讲解了如何处理依赖的传递性以及在多模块项目中生成源文件和二进制文件的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近被一个多模块项目搞的头晕眼花,最后经过多次摸索终于发现了如何使用maven来创建多模块的项目。现在把一些经验和教训总结一下供后来人借鉴和指教。

maven的作用

毋庸置疑,maven是用来创建一个项目的基本构架以使得这个工程可以方便的重复构建。

maven的生命周期

谈到项目,不得不提到一个基本项目的生命周期,也就是说在项目被maven打包成jar, war等等不同的包装的时候都需要经过哪些步骤呢?一般来讲,需要经过一下常用步骤:

  1. 编译(compile): 不做解释了,编译源文件成为二进制文件。
  2. 测试(test): 运行编译后的单元测试。
  3. 打包(packaging): 把二进制文件打包成为指定的格式。
  4. 安装(install): 把打包好的指定格式文件安装到本地仓库中。
  5. 部署(deploy): 把指定的文件安装到远程仓库中。

举个例子,如果你想要打包你的文件成为一个jar文件,那么你需要一下的maven配置文件(俗称pom.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">
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>com.mycompany.app(项目姓氏)</groupId>
  <artifactId>my-app(项目名字)</artifactId>
  <version>1.0-SNAPSHOT(项目版本号)</version>
  <packaging>jar(项目打包方式)</packaging>
  
</project>

这就是一个最最简单的maven项目了,在maven项目里面,前面两个标签都是默认的。

maven的打包方法

好了,基本信息确定了以后,接下来就需要我们来进行实际的打包操作了。那么,如何去打包一个项目?

你需要指定一些插件来完成具体编译,打包的过程。比如说,我想要生成一个jar文件(project.jar)和源文件包(project-sources.jar),那么,我需要的maven的插件有两个,一个是maven-jar-plugin,另一个是maven-sources-plugin。

在pom.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">
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
 
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins(插件姓氏)</groupId>
        <artifactId>maven-jar-plugin(插件名字)</artifactId>
        <version>2.6(版本号)</version>
        <executions>
          <execution>
            <id>compile-my-project(操作名称)</id>
            <phase>compile(执行此操作的生命周期)</phase>
            <goals>
              <goal>jar(此操作的目标)</goal>
            </goals>
            <configuration>
              自己定义一些操作的配置信息
            </configuration
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值