读取程序集时出错:未找到 ID 为 <xml path> 的描述符

Error reading assemblies: Descriptor with ID <xml path> not found

我一直在尝试将我的项目从 Java 8 迁移到 Java 11。到目前为止,我还更新了我的 Spring 引导项目并且能够找到出现的问题的解决方案。虽然对于这个,我在解决它时遇到了一些困难。 我的 Maven 版本是 3.6.1

最初我的maven assembly插件的值是这样的:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <appendAssemblyId>false</appendAssemblyId>
        <descriptor>src/main/assembly/boot.xml</descriptor>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

虽然它会抛出一个错误:

Execution make-assembly of goal org.apache.maven.plugins:maven-assembly-plugin:3.1.1:single failed: parameter 'descriptor' has been removed from the plugin, please verify documentation. -> [Help 1]

根据 maven assembly documentation描述符 的使用总是不正确的。所以我将其更新为:

<configuration>
    <appendAssemblyId>false</appendAssemblyId>
    <descriptorRefs>
      <descriptorRef>src/main/assembly/boot.xml</descriptorRef>
    </descriptorRefs>
</configuration>

虽然还是不行。它会抛出这样的错误:

Error reading assemblies: Descriptor with ID 'src/main/assembly/boot.xml' not found -> [Help 1]

即使 boot.xml 存在。

关于如何解决这个问题还有其他建议吗?提前致谢!

好吧,我刚刚回到我之前的配置并添加了描述符标签。现在看起来像这样:

<descriptors>
    <descriptor>src/main/assembly/boot.xml</descriptor>
</descriptors>

成功了!

我在使用 3.3 时遇到了同样的问题。标签 descriptor 不能单独使用。标签 descriptorRefs 如果用于 ID。如果您使用文件,则需要在 plugin 标签内的 configuration 标签内的 descriptors 标签内使用 descriptor 标签。 这是我的实际工作配置。

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.3.0</version>
    <configuration>
      <descriptors>
        <descriptor>assembly.xml</descriptor>
      </descriptors>
      <finalName>sofia-web-server-${project.version}</finalName>
    </configuration>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>single</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
</plugins>