maven - 创建着色 jar : Error in ASM processing class kotlin/collections/ArraysKt___ArraysKt. 类时出错:UTF8 字符串太大

标签 maven kotlin jar jvm maven-shade-plugin

我正在尝试升级 kotlin 版本的着色项目,但当我升级到 kotlin 1.5.30 时遇到以下问题:

org.apache.maven.lifecycle.LifecycleExecutionException:无法在项目authentication-downstream-clients-上执行目标org.apache.maven.plugins:maven-shade-plugin:3.4.1:shade(默认)阴影:创建阴影 jar 时出错:阴影 JAR/Users/aagrawal/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.5.30/kotlin-stdlib-1.5.30.jar 条目 kotlin/collections/ArraysKt___ArraysKt 出现问题。类:org.apache.maven.plugin.MojoExecutionException:ASM 处理类 kotlin/collections/ArraysKt___ArraysKt.class 时出错 Kotilin 1.3.31 则不会发生同样的情况

我尝试了 maven-shade-plugin 的多个版本,尝试使用排除此特定类

        <filters>
          <filter>
            <artifact>kotlin-stdlib</artifact>
            <includes>
              <include>kotlin/collections/**</include>
            </includes>
          </filter>
        </filters>

但遇到同样的异常

最佳答案

这对我有用:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.4.1</version>
            <configuration>
                <filters>
                    <filter>
                        <artifact>*:*</artifact>
                        <excludes>
                            <exclude>asm:*</exclude> <!-- Exclude current ASM version -->
                        </excludes>
                    </filter>
                </filters>
                <relocations>
                    <relocation>
                        <pattern>org.objectweb.asm</pattern> <!-- Relocate to new ASM version -->
                        <shadedPattern>com.example.asm</shadedPattern>
                    </relocation>
                </relocations>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.ow2.asm</groupId> <!-- Add desired ASM version -->
                    <artifactId>asm</artifactId>
                    <version>9.4</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

关于maven - 创建着色 jar : Error in ASM processing class kotlin/collections/ArraysKt___ArraysKt. 类时出错:UTF8 字符串太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75730664/

相关文章:

java - Kotlin - 如何从注释处理器获取 KClass<*> 注释参数

java - 版本是否应该出现在 .jar 文件的名称中?

eclipse - 如何查看安装的 m2e 连接器?

maven - 如何更改本地 Maven 存储库的 updatePolicy?

java - 要求 IntelliJ IDEA 将构建的 Artifact 安装到 Maven 本地存储库中

kotlin - 为什么 queryForObject Kotlin 扩展函数返回可为空的 T?如果它真的会抛出 EmptyResultDataAccessException?

java - 无法从 UPS Void wsdl 生成 java 文件 : void is a Java keyword

android-studio - 无法从sqldelight v1.4.1访问生成的数据库类

java - 读取 Jar 中的文件(ZipInputStream 等)

java - 访问 JAR 资源