maven - 随机 Mapstruct 编译错误可能吗?
问题描述
遇到无法重现的罕见构建问题,不确定是否应该接受它,或者它可能是可以修复的。我的项目包含许多模块,其中一些使用 Mapstruct 并且它也是随机的会失败。
环境 它在 maven 和 gradle 中发生了好几次。受影响的 mapstruct 的多个版本(1.4.2、1.4.1、1.3.1)它是 openJDK11,构建在 Bamboo 上运行,项目中使用的工件。
1.4.2错误:
映射处理器中的内部错误:org.mapstruct.ap.internal.writer.ModelWriter.(ModelWriter.java:51) 处的 java.lang.ExceptionInInitializerError
然后很多行和:
java.lang.RuntimeException: 无法在 org.mapstruct.ap.shaded.freemarker.template.Configuration.(Configuration.java:194) 加载和解析 freemarker/version.properties ... 196 更多原因:java.util。 zip.ZipException:ZipFile 在 java.base/java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:1012) 的 java.base/java.util.zip.ZipFile.ensureOpenOrZipException(ZipFile.java:924) 处关闭在 java.base/java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:468) 在 java.base/java.util.zip.InflaterInputStream.read(InflaterInputStream.java:159) 在 java.base/java .io.FilterInputStream.read(FilterInputStream.java:133) 在 java.base/java.io.FilterInputStream.read(FilterInputStream.java:107) 在 java.base/java.util.Properties$LineReader.readLine(Properties.java :498) 在 java.base/java.util.Properties.load0(Properties.java:416) 在 java.base/java.util.Properties.load(Properties.java:404) 在 org.mapstruct.ap.shaded.freemarker .模板.配置。
1.3.1错误:
错误:映射处理器中的内部错误:org.mapstruct.ap.shaded.freemarker.ext.beans.ClassIntrospector.isAllowedToExpose(ClassIntrospector.java:534) 处的 java.lang.ExceptionInInitializerError
然后
错误 2020 年 4 月 2 日 14:26:15 STDERR: 02) 在 org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute 的 org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36) (EventFiringTaskExecuter.java:52) 在 org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43) 在 org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355) 在 org. gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343) 在 org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336) 在 org.gradle.execution.taskgraph。DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute( DefaultPlanExecutor.java:129) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193) 在 org .gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129) 在 org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) 在 org.gradle.internal.concurrent.ManagedExecutorImpl $1.run(ManagedExecutorImpl.java:48) 在 java.base/java。util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 在 org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable。在 java.base/java.lang.Thread.run(Thread.java:834) 运行(ThreadFactoryImpl.java:56) 原因:java.lang.IllegalStateException:zip 文件在 java.base/java.util.zip 关闭。 ZipFile.ensureOpen(ZipFile.java:915) 在 java.base/java.util.zip.ZipFile.getEntry(ZipFile.java:347) 在 java.base/java.util.zip.ZipFile$1.getEntry(ZipFile.java :1121) 在 java.base/java.util.jar.JarFile.getEntry0(JarFile.java:576) 在 java.base/java.util.jar.JarFile.getEntry(JarFile.java:506) 在 java.base/ sun.net.www.protocol.jar.URLJarFile.getEntry(URLJarFile.java:131) 在 java.base/sun.net.www.protocol.jar。JarURLConnection.connect(JarURLConnection.java:137) 在 java.base/sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:155) 在 java.base/java.net.URLClassLoader.getResourceAsStream(URLClassLoader. java:328) 在 java.base/java.lang.Class.getResourceAsStream(Class.java:2650) 在 org.mapstruct.ap.shaded.freemarker.ext.beans.UnsafeMethods.createUnsafeMethodsSet(UnsafeMethods.java:45) 在 org .mapstruct.ap.shaded.freemarker.ext.beans.UnsafeMethods.(UnsafeMethods.java:34)UnsafeMethods.createUnsafeMethodsSet(UnsafeMethods.java:45) 在 org.mapstruct.ap.shaded.freemarker.ext.beans.UnsafeMethods.(UnsafeMethods.java:34)UnsafeMethods.createUnsafeMethodsSet(UnsafeMethods.java:45) 在 org.mapstruct.ap.shaded.freemarker.ext.beans.UnsafeMethods.(UnsafeMethods.java:34)
相同开头的类似错误,但第二部分如下所示:
在 org.gradle.util.Swapper.swap(Swapper.java:38) 在 org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75) 在 org.gradle.launcher.daemon.server .api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) 在 org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution .proceed(DaemonCommandExecution.java:104) 在 org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly .java:37) 在 org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment 的 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)。doBuild(EstablishBuildEnvironment.java:82) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution. java:104) 在 org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297) 在 org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)在 org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) 在 org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) 在 java.base/java.util。 concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 在 org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) 在 java.base/java.lang.Thread.run(Thread.java:834) 引起:java.lang.RuntimeException :无法加载不安全的方法 null java.io.IOException Stream closed at org.mapstruct.ap.shaded.freemarker.ext.beans.UnsafeMethods.createUnsafeMethodsSet(UnsafeMethods.java:82) at org.mapstruct.ap.shaded.freemarker。 ext.beans.UnsafeMethods.(UnsafeMethods.java:34)82) 在 org.mapstruct.ap.shaded.freemarker.ext.beans.UnsafeMethods.(UnsafeMethods.java:34)82) 在 org.mapstruct.ap.shaded.freemarker.ext.beans.UnsafeMethods.(UnsafeMethods.java:34)
解决方案
推荐阅读
- flutter - Flutter如何在列表中显示列表的值
- python - 使用 Python 将 Kafka 数据写入 SQL Server 的最佳方法是什么?
- java - 如何将 jsonObject 设置为 java pojo
- rspec - Rspec swagger(openapi 3) 错误:“/components/responses”在架构上不存在
- python-3.x - pymqi.connect 在 Linux 上因错误 2059 MQRC_Q_MGR_NOT_AVAILABLE 而失败
- android - 使用 Glide 时如何修复崩溃的应用程序
- asp.net-mvc - 在发布时将 MVC 本地数据库更改为 SQL 数据库
- delphi - 如何在 C++ Builder 项目中调试 Delphi 组件代码?
- reactjs - react-testing-library + material-ui 错误:元素类型无效:
- angular - 尝试发布时出现不支持的媒体错误 415