写点什么

Idea 应用启动时 WEB-INF/lib 无效标记问题处理

发布于: 2021 年 02 月 15 日
Idea应用启动时WEB-INF/lib无效标记问题处理

一 问题描述

如图所示:

问题:多 module 工程,sprintboot 应用,启动执行时报错,信息为: Error:java:无效的标记:  xxxx/src/main/webapp/WEB-INF/lib

查看 compiler.xml 信息(如下图,在工程 =>.idea => libraries => compiler.xml):

问题所在的位置是 <component name="JavacSettings"> 下,如下图:



二 开发环境及版本信息

开发环境:Mac 操作系统

idea 版本信息:

IntelliJ IDEA 2018.3.5 (Ultimate Edition)

Build #IU-183.5912.21, built on February 26, 2019

Licensed to Rover12421 / Rover12421

Subscription is active until January 1, 2100

JRE: 1.8.0_152-release-1343-b28 x86_64

JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

macOS 10.14.5

三 问题分析和解决方式

3.1 问题分析

我们的工程对外提供 http 接口,但使用的是 SprintBootApplication,结合 @RestController 注解的形势对外提供。(默认容器是 tomcat)。工程目录中并没有 webapp/WEB-INF/lib,所以这就是造成错误的原因。compiler.xml 的内容是 idea 的默认配置,那么我们把<component name="JavacSettings">下的内容都注释掉就可以了。

3.2 解决方式

事实上,注释操作后,也确实启动成功。不过,我们还发现,工程更新、同步等动作后,compiler.xml 还是会恢复,所以要么每次注释。但 idea 显然不会这么弱,既然是 idea 下的文件,那么找到配置位置一次设置完成就好。

这里再说一句,搜到的很多文章还是旧版的 idea。涉及调整配置,提到要从 File->setting 找的都是。 事实上,现在使用的 2018 后的版本应该都找不到这个位置。 应该是 idea->Preferences,在搜索框中搜索 compiler:


点击 Java Compiler 进入下面界面:


注意标红的部分,选中后,点减号”-“移除。全部移除完毕后, Apply 应用即可。再查看 compiler.xml 内容如下,后续即可正常启用:



发布于: 2021 年 02 月 15 日阅读数: 14
用户头像

磨炼中成长,痛苦中前行 2017.10.22 加入

微信公众号【程序员架构进阶】。多年项目实践,架构设计经验。曲折中向前,分享经验和教训

评论

发布
暂无评论
Idea应用启动时WEB-INF/lib无效标记问题处理