使用Maven2将多模块项目构建到一个jar中

时间:2015-03-24 10:59:51

标签: java maven

我读过这个: maven: multi-module project assembly into single jar

对于该问题的接受答案,我的maven版本是2.2.1而shade需要maven 3.

我的父pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://maven.apache.org/POM/4.0.0"
         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>myGroup</groupId>
    <artifactId>x-all</artifactId>
    <packaging>pom</packaging>
    <version>1.0.0</version>

    <modules>
        <module>x-framework</module>
        <module>x-adaptor</module>
        <module>x-plugin</module>
        <module>x-utils</module>
        <module>x-offline</module>
        <module>x-protocols</module>
    </modules>
...

我只想构建一个包含

x-all-1.0.0-jar-with-dependencies.jar
  1. 每个子模块类
  2. 每个子模块依赖类(需要自动解决依赖冲突)
  3. 某个资源文件(x-all/src/main/resources
  4. 我如何构建它?

1 个答案:

答案 0 :(得分:0)

添加另一个模块,例如,将其命名为x-package。让x-package依赖于该项目中的每个模块。我们只使用简单的mvn package配置(assembly plugin)运行jar-with-dependence,我们将在x-package的目标目录中获取所需的jar。