IDEA构建报java.lang.IllegalArgumentException: MALFORMED(ZipFile)
更具体的报错如下:
java: java.lang.IllegalArgumentException: MALFORMED
java.lang.RuntimeException: java.lang.IllegalArgumentException: MALFORMED
at com.sun.tools.javac.main.Main.compile(Main.java:559)
at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)
at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)
at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:238)
at org.jetbrains.jps.javac.ExternalJavacProcess.compile(ExternalJavacProcess.java:192)
at org.jetbrains.jps.javac.ExternalJavacProcess.access$400(ExternalJavacProcess.java:31)
at org.jetbrains.jps.javac.ExternalJavacProcess$CompilationRequestsHandler$1.run(ExternalJavacProcess.java:265)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.IllegalArgumentException: MALFORMED
at java.util.zip.ZipCoder.toString(ZipCoder.java:58)
at java.util.zip.ZipFile.getZipEntry(ZipFile.java:584)
at java.util.zip.ZipFile.access$900(ZipFile.java:60)
at java.util.zip.ZipFile$ZipEntryIterator.next(ZipFile.java:540)
at java.util.zip.ZipFile$ZipEntryIterator.nextElement(ZipFile.java:515)
at java.util.zip.ZipFile$ZipEntryIterator.nextElement(ZipFile.java:496)
at org.jetbrains.jps.javac.DefaultFileOperations$ZipArchive.<init>(DefaultFileOperations.java:217)
at org.jetbrains.jps.javac.DefaultFileOperations.openArchive(DefaultFileOperations.java:141)
at org.jetbrains.jps.javac.JpsJavacFileManager$8.fun(JpsJavacFileManager.java:510)
at org.jetbrains.jps.javac.JpsJavacFileManager$8.fun(JpsJavacFileManager.java:492)
at org.jetbrains.jps.javac.Iterators$11.next(Iterators.java:271)
at org.jetbrains.jps.javac.Iterators$11.next(Iterators.java:271)
at org.jetbrains.jps.javac.Iterators$6.findNext(Iterators.java:183)
at org.jetbrains.jps.javac.Iterators$6.hasNext(Iterators.java:168)
at com.sun.tools.javac.api.ClientCodeWrapper.wrapJavaFileObjects(ClientCodeWrapper.java:140)
at com.sun.tools.javac.api.ClientCodeWrapper$WrappedJavaFileManager.list(ClientCodeWrapper.java:231)
at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2803)
at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2446)
at com.sun.tools.javac.jvm.ClassReader.access$000(ClassReader.java:76)
at com.sun.tools.javac.jvm.ClassReader$1.complete(ClassReader.java:240)
at com.sun.tools.javac.code.Symbol.complete(Symbol.java:574)
at com.sun.tools.javac.comp.Enter.visitTopLevel(Enter.java:300)
at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:518)
at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:258)
at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:272)
at com.sun.tools.javac.comp.Enter.complete(Enter.java:486)
at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:982)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:857)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
... 9 more
此时可以打开IDEA日志进行查看

并以关键字【java.util.zip.ZipException】搜索,会搜到某jar包存在如下异常,去除对此jar包的依赖即可解决异常
2024-12-04 10:09:28,841 [5743561] WARN - #c.i.o.v.i.j.TimedZipHandler - invalid CEN header (bad entry name or comment): D:\XXX\mavenRep\com\XX\XX\XX\1.0.0\XX-1.0.0.jar
java.util.zip.ZipException: invalid CEN header (bad entry name or comment)
at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1889)
at java.base/java.util.zip.ZipFile$Source.checkAndAddEntry(ZipFile.java:1347)
at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1828)
at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1603)
at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1550)
at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:734)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:261)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:190)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:204)
at com.intellij.openapi.vfs.impl.jar.TimedZipHandler$ZipResourceHandle.attach(TimedZipHandler.java:91)
at com.intellij.openapi.vfs.impl.jar.TimedZipHandler.acquireZipHandle(TimedZipHandler.java:61)
at com.intellij.openapi.vfs.impl.ZipHandlerBase.createEntriesMap(ZipHandlerBase.java:51)
at com.intellij.openapi.vfs.impl.ArchiveHandler.getEntriesMap(ArchiveHandler.java:190)
at com.intellij.openapi.vfs.impl.ArchiveHandler.getEntryInfo(ArchiveHandler.java:175)
at com.intellij.openapi.vfs.impl.ArchiveHandler.getAttributes(ArchiveHandler.java:79)
at com.intellij.openapi.vfs.newvfs.ArchiveFileSystem.lambda$new$0(ArchiveFileSystem.java:128)
at com.intellij.openapi.vfs.DiskQueryRelay.lambda$new$0(DiskQueryRelay.java:56)
at com.intellij.openapi.vfs.DiskQueryRelay.lambda$accessDiskWithCheckCanceled$1(DiskQueryRelay.java:75)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:101)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:101)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:107)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:101)
at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:735)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:732)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:732)
at java.base/java.lang.Thread.run(Thread.java:1583)
然后可以使用IDEA的【工件】功能自行将源码打成一个jar包使用

浙公网安备 33010602011771号