微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可能出现随机 Mapstruct 编译错误?

如何解决是否可能出现随机 Mapstruct 编译错误?

有无法重现的罕见构建问题,不确定是否应该接受它或者它可能是可以修复的。我的项目包含很多模块,其中一些使用 Mapstruct 并且它也是随机的,会失败。

环境 这在 maven 和 gradle 中发生了好几次。多个版本的 mapstruct 受到影响(1.4.2、1.4.1、1.3.1) 它是 openJDK11,构建在 Bamboo 上运行,项目中使用了 artifactory。

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) ... 196 处加载和解析 freemarker/version.properties 导致:java .util.zip.ZipException:ZipFile 在 java.base/java.util.zip.ZipFile.ensureOpenorZipException(ZipFile.java:924) 处关闭,位于 java.base/java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java :1012) 在 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) at java.base/java.io.FilterInputStream.read(FilterInputStream.java:107) at 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.template.Configuration。

1.3.1 错误

错误:映射处理器中的内部错误:org.mapstruct.ap.shaded.freemarker.ext.beans.ClassIntrospector.isAllowedToExpose(ClassIntrospector.java:534)处的java.lang.ExceptionInInitializerError

然后

error 02-Apr-2020 14:26:15 STDERR: 02) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36) at org.gradle.api.internal.tasks.execution。 EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTask​​NodeExecutor.execute(LocalTask​​NodeExecutor.java:43) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTask5ExecutionGraph.java:35)在 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) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(Defau ltPlanExecutor.java:134) 在 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.runWorker(ThreadPoolExecutor) :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:8 34) 引起:java.lang.IllegalStateException:zip 文件在 java.base/java.util.zip.ZipFile.ensureOpen(ZipFile.java:915) at 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) at java.base/java.lang.class.getResourceAsstream(Class.java:2650) at org.mapstruct.ap.shaded.freemarker.ext.beans.UnsafeMethods。 createUnsafeMethodsSet(UnsafeMethods.java:45) 在 org.mapstruct.ap.shaded.freemarker.ext.beans.UnsafeMetho ds.(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。 org.gradle.launcher.daemon.server.exec.LogToClient.dobuild(LogToClient.java:63) 的 api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) org.gradle.launcher.daemon.server.exec.BuildCommandOnly。在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) 在 org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.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.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52) 在 org.gradle.launcher.daemon.server .DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297) 在 org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) 在 org.gradle.internal.concurrent.ManagedExecutorImpl$1.utorjavaExecutorImpl$1.utorjava :48) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at 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 在 org.mapstruct.ap.shaded.free 关闭org.mapstruct.ap.shaded.freemarker.ext.beans.UnsafeMethods.(UnsafeMethods.java:34)

处的marker.ext.beans.UnsafeMethods.createUnsafeMethodsSet(UnsafeMethods.java:82)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。