[seata]macos M2 pro, spring-boot.version从2.5.13升级到2.7.5后备份报错

2024-02-02 269 views
6
Ⅰ. 问题描述

spring-boot.version从2.5.13升级到2.7.5后预算报错

二. 描述发生了什么

如果有异常,请附上异常轨迹:


Just paste your stack trace here!

[信息] Seata-Spring-boot-starter 1.6.1 ........................成功 [ 0.166 秒] [信息] apm-seata-skywalking-plugin 1.6。 1 ......................失败 [ 0.056 秒] [信息] -------------------------- ------------------------------------------------ [信息] 构建失败 [信息] ---------------------------------------------------------- -------------------------------------- [INFO] 总时间:42.193 s [INFO] 完成于:2023-08-28T13:54 :23+08:00 [信息] ---------------------------------------- ------------------------------- [错误] 无法执行目标 org.apache.maven.plugins:maven-compiler-插件:3.8.1:在项目 apm-seata-skywalking-plugin 上编译(默认编译):编译失败 [错误] 服务配置文件不正确,或构造处理程序对象无效索引时发送异常错误 [错误] [错误] -> [帮助 1] [错误]

三.描述您期望发生的情况

spring-boot.version从2.5.13升级到2.7.5后压缩包报错,执行如下命令: mvn clean install -Dmaven.test.skip=true -Prelease-seata

四.如何重现它(尽可能最少且精确)
  1. MacOS M2 Pro
  2. Seata 1.6.1 ,代码这里改成2.7.5</spring-boot.version>
  3. mvn clean install -Dmaven.test.skip=true -Prelease-seata

最小但完整的重现器代码(或代码的 URL):

Ⅴ. 还有什么我们需要知道的吗? Ⅵ. 环境:
  • JDK 版本(例如java -version):openjdk 版本“1.8.0_382” OpenJDK 运行时环境 (Zulu 8.72.0.17-CA-macos-aarch64) (build 1.8.0_382-b05) OpenJDK 64 位服务器 VM (Zulu 8.72.0.17-CA- macos-aarch64)(内部版本 25.382-b05,混合模式)
  • Seata客户端/服务器版本:1.6.1
  • 数据库版本:文件
  • 操作系统(例如uname -a):Darwin MacBook-Pro.local 22.4.0 Darwin 内核版本 22.4.0:2023 年 3 月 6 日星期一 20:59:58 PST;根:xnu-8796.101.5~3/RELEASE_ARM64_T6020 arm64
  • 其他的:

回答

5

参考号#5613

7

请执行

mvn clean install -Dmaven.test.skip=true -Prelease-seata > error.log

并提供完整的error.log。

7

使用后

mvnDebug  clean install -Dmaven.test.skip=true -Prelease-seata -X

我调试maven-compile-plugin,我发现问题可能出现在注释处理器中

图像

一个简单的解决方案是将插件添加到 apm-seata-skywalking-plugin/pom.xml

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <parameters>true</parameters>
                    <compilerArgs>
                        <arg>-proc:none</arg>
                    </compilerArgs>
                </configuration>
            </plugin>

proc:none是重点,但是我不确定skywalking的功能是否受到影响,所以如果有一天,我们必须升级springboot的版本,我们可以这样做。并测试一下skywalking的功能。

如果有兴趣可以调试sun.misc.URLClassPath