javaweb项目从idea2017移动到idea2021后无法正常运行的错误

idea2017的项目转移到idea2021后无法成功构建的错误

报错如下:

执行预编译任务...
正在加载 Ant 配置…
正在运行 Ant 任务…
正在运行 'before' 任务
正在检查源
正在解析 java… [项目名xxx]
java: 编译器 (1.6.0_45) 中出现异常。 如果在 Bug Parade 中没有找到该错误,请在 Java Developer Connection (http://java.sun.com/webapps/bugreport)  对该错误进行归档。 请在报告中附上您的程序和以下诊断信息。谢谢您的合作。
java: java.lang.RuntimeException: java.io.IOException: Error reading file 项目名xxxt\WEB-INF\lib\org.apache.commons.io-1.4.jar: error in opening zip file
java:     at org.jetbrains.jps.javac.JpsJavacFileManager$8.fun(JpsJavacFileManager.java:524)
java:     at org.jetbrains.jps.javac.JpsJavacFileManager$8.fun(JpsJavacFileManager.java:476)
java:     at org.jetbrains.jps.javac.Iterators$9.next(Iterators.java:189)
java:     at org.jetbrains.jps.javac.Iterators$5.findNext(Iterators.java:127)
java:     at org.jetbrains.jps.javac.Iterators$5.hasNext(Iterators.java:112)
java:     at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2150)
java:     at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2130)
java:     at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1781)
java:     at com.sun.tools.javac.code.Symbol.complete(Symbol.java:384)
java:     at com.sun.tools.javac.comp.Enter.visitTopLevel(Enter.java:274)
java:     at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:446)
java:     at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:238)
java:     at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:252)
java:     at com.sun.tools.javac.comp.Enter.complete(Enter.java:457)
java:     at com.sun.tools.javac.comp.Enter.main(Enter.java:442)
java:     at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:822)
java:     at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727)
java:     at com.sun.tools.javac.main.Main.compile(Main.java:353)
java:     at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:113)
java:     at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:238)
java:     at org.jetbrains.jps.javac.ExternalJavacProcess.compile(ExternalJavacProcess.java:190)
java:     at org.jetbrains.jps.javac.ExternalJavacProcess.access$300(ExternalJavacProcess.java:32)
java:     at org.jetbrains.jps.javac.ExternalJavacProcess$CompilationRequestsHandler$1.run(ExternalJavacProcess.java:262)
java:     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
java:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
java:     at java.lang.Thread.run(Thread.java:662)
java: Caused by: java.io.IOException: Error reading file 项目名xxx\WebRoot\WEB-INF\lib\org.apache.commons.io-1.4.jar: error in opening zip file
java:     at org.jetbrains.jps.javac.JpsJavacFileManager$8.fun(JpsJavacFileManager.java:503)
java:     ... 26 more
java: Caused by: java.util.zip.ZipException: error in opening zip file
java:     at java.util.zip.ZipFile.open(Native Method)
java:     at java.util.zip.ZipFile.(ZipFile.java:127)
java:     at org.jetbrains.jps.javac.DefaultFileOperations$ZipArchive.(DefaultFileOperations.java:175)
java:     at org.jetbrains.jps.javac.DefaultFileOperations.openArchive(DefaultFileOperations.java:129)
java:     at org.jetbrains.jps.javac.JpsJavacFileManager$8.fun(JpsJavacFileManager.java:494)
java: 编译失败: 内部 java 编译器错误
正在检查依赖项… [项目名xxx]
依赖分析发现 0 个受影响的文件
编译模块 '项目名xxx' 时发生错误
javac 6 用于编译 java 源
已完成,正在保存缓存…
模块 '项目名xxx' 已经完全重新构建,因为项目配置/依赖项发生变更
编译失败: 错误: 1;警告: 0
执行后编译任务...
正在加载 Ant 配置…
正在运行 Ant 任务…
正在同步输出目录…
2022/5/6 20:58 - 编译完成5秒116毫秒中 1 个错误 和 0 个警告

解决方式:找到jar包依赖库目录,添加包为库的时候不要直接添加整个目录,而是批量选中jar包添加后再次构建,添加后在项目结构中可以看到是所有包都在,而不是单独一个空目录在那儿

你可能感兴趣的:(Java,javaweb,java,开发语言)