当前位置: 首页 > 知识库问答 >
问题:

子模块中的Maven assembly useAllReactorProjects不起作用

颛孙飞
2023-03-14

多模块项目的Maven汇编插件没有收集所有子模块。

下面是我的项目的层次结构(根据maven父/子):

ss.parent (parent multi module)
   |_ ss.a (parent multi module)
         |_ ss.a.1
         |_ ss.a.2
   |_ ss.b (parent multi module)
         |_ ss.b.2
         |_ ss.b.2
   |_ ss.assembly

ss.parent/pom.xml包含:

<module>ss.a</module>
<module>ss.b</module>
<module>ss.assembly</module>
<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>ss</groupId>
    <artifactId>ss.parent</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>sis.assembly</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<description>Produces delivery for MOSS</description>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <descriptor>src/assembly/assembly.xml</descriptor>
            </configuration>
            <executions>
                <execution>
                    <id>create-archive</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>ss</groupId>
        <artifactId>ss.a</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>ss</groupId>
        <artifactId>ss.b</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies>

Assembly.xml:

<id>assembly</id>
<formats>
    <format>dir</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<moduleSets>
    <moduleSet>
        <useAllReactorProjects>true</useAllReactorProjects>
        <includeSubModules>true</includeSubModules>
        <includes>
          <include>*:*</include>
        </includes>
        <binaries>
            <outputDirectory>assembly</outputDirectory>
            <unpack>false</unpack>
        </binaries>
    </moduleSet>
</moduleSets>

因此,我期望的是一个集合包含:

  • ss.a.1.jar
  • SS.A.2.jar
  • SS.B.1.jar
  • SS.B.2.jar

但是,我只有SS.A.1.jar和SS.A.2.jar!maven似乎在第一个multime模块(即ss.a)之后就停止了。

你知道吗?谢了。

共有1个答案

浦思源
2023-03-14

我发现了问题:)

默认情况下,maven assembly插件选择没有分类器的artefact(或none作为分类器)。事实上,模块ss.b使用一个不是none的分类器生成人工制品,这就是它被忽略的原因。

 类似资料:
  • 我有两个文件。raku和TestMod。rakumod位于目录C:\Users\suman中。 TestMod.rakumod <代码>主。raku 我想从脚本文件调用模块中的一些函数。当我运行脚本时,我得到这个错误 这是我的操作系统特定信息: Rakudo特定信息(从Rakudo.org安装): 然而,这种情况在Linux中也可以使用。请参见此处的MWE。 是Windows特定的问题/错误还是我

  • 我有以下情况,其中a是目录: 所以当我从交互式提示中运行时: 为什么它没有找到第一个。py模块?我的意思是我希望没有错误;在导入运行期间,我认为它可以看到第一个。py已经加载,所以没有错误,它只是跳到中列出的下一个。

  • 我创建了SpringBootGradle多模块项目,该项目由3个模块组成:控制器、服务、存储库。主文件位于控制器模块中,名为myspringbootplication。 我可以构建这个项目(使用GradleBuild)并获得jar文件。但是在命令行中启动这个jar之后,我遇到了下一个错误: 为了修复这个错误,我添加了属性到main中的MANIFEST. MF文件,但是这个操作没有帮助。有人能帮忙吗

  • 我正在为VSCode开发一个扩展。该扩展使用python脚本创建并生成文件。python脚本有一些导入,即。 扩展运行良好,并在扩展开发视图中生成文件。但是,当它(从.vsix)安装并运行时,它无法正常工作。特别是,导入模块附带的功能不起作用。 我尝试过通过pythonshell和child_process运行python脚本,结果相同。 我没有收到任何错误消息。在这方面需要一些帮助。

  • 问题内容: 该练习直接由Kathy Seirra和Bert Bates撰写的SCJP 同步代码块 在本练习中,我们将尝试同步代码块。在该代码块中,我们将获得对对象的锁定,以便在代码块执行时其他线程无法修改它。我们将创建三个线程,它们都将尝试操纵同一对象。每个线程将输出一个字母100次,然后将该字母加1。我们将使用的对象是StringBuffer。 我们可以在String对象上进行同步,但是一旦创建

  • 启用LDAP:true ldap主机名:我的ldap服务器的主机名 LDAP端口:389 LDAP方法:plain ldap基础:我的ldap服务器的基础 LDAP uid:userPrincipalName LDAP绑定DN:Nothing LDAP密码:nothing LDAP筛选器:(&(userprincipalname=%{username})(memberof=cn=[所需组的名称],