我怀疑这些是 IDEA 造成 BUG 问题,但又找不到任何证据!
大家好,我是东哥。
相信大家开发时经常遇到一些由于使用IDEA工具造成的BUG问题,而且这些问题只能通过手动修改才可以,比如编译问题、命令行过长等等。
不是很理解,为什么有些问题IDEA官方,不考虑优化或者从根本上解决这些问题呢?可能有些朋友认为这就不是问题,这只是IDEA不完善或者本身就是IDEA预留的功能,后期会删除等等原因吧!但在这里暂定为BUG,我觉得也不是很过分。
虽然对于一些技术大佬这些问题可能很简单,但是出于各方面原因,还是决定整理一下,在使用IDEA时造成的BUG问题。
问题一:IDEA运行报错Commandline is too long信息
详细错误信息如下:
1
|
Command line is too long.Shorten commandline
for
className or also forJUnit defaultconfiguration
|
大多数操作系统都有最大的命令行限制,当超出时,IDEA将无法运行应用程序。命令行大于32768个字符时,IDEA建议切换到动态类路径,将长类路径写入文件,然后由应用程序启动程序读取并通过系统类加载器加载。
解决方法:
在项目中.idea/workspace.xml文件中,找到如下内容:
<componentname= "PropertiesComponent" >
...
<propertyname= "dynamic.classpath" value= "false" />
< /component >
将dynamic.classpath参数值设置为true,就可以解决IDEA报错。
问题二:IDEA提示Warning:java:源值1.5已过时,将在未来所有发行版中删除
平时在运行Java Web项目时,IDEA中提示信息:
Warning:java:源值1.5已过时, 将在未来所有发行版中删除
Warning:java:目标值1.5已过时, 将在未来所有发行版中删除
Warning:java:要隐藏有关于已过时选项的警告,请使用-Xlint:-options
解决方法:
方式一:通过IDEA修改JDK版本
1)打开ProjectStructure->Project,本人使用的是java8,因此演示讲解选择使用jdk1.8版本。
2)打开ProjectStructure->Modules中Sources选项的Language level,进行设置。
3)打开File->Settings,找到Build,Execution,Deployment选项->Compiler->Java Compiler
把所需的java版本按照上述设置方式修改后,就不会提示该信息。
方式二:maven项目,修改pom.xml文件
如果是maven项目,那么就是因为maven默认的编译环境是jdk1.5,需要修改pom.xml文件,加入<properties>属性,属性中添加maven.compiler.source和maven.compiler.target即可。
将下列内容增加到pom.xml文件:
<profiles>
<!--指定jdk版本为1.8-->
<profile>
< id >jdk-1.8< /id >
<activation>
<activeByDefault> true < /activeByDefault >
<jdk>1.8< /jdk >
< /activation >
<properties>
<maven.compiler. source >1.8< /maven .compiler. source >
<maven.compiler.target>1.8< /maven .compiler.target>
<maven.compiler.compilerVersion>1.8< /maven .compiler.compilerVersion>
< /properties >
< /profile >
< /profiles >
问题三:Error(*,*) Java:程序包不存在
问题分析:
大多数情况下出现not found信息时,是指编译好的文件里找不到对应的文件,maven项目编译文件默认输出到taget目录,检查target目录下报错信息的文件是否存在。
解决办法:
方式一:刷新maven项目导入包
参考入图:
方式二:导入依赖
问题四:No MyBatis mapper was found
项目启动后,控制台输入错误日志如下:
[org.mybatis.spring.mapper.ClassPathMapperScanner]-NoMyBatis mapper was found in '[com.jingxuan.dao]' package.Please check yourconfiguration.
问题分析:
检查spring和mybatis配置文件与注解是否准确,如果把taget删掉重新comple不报错,那么就是idea编译的问题。
解决方法:
1、删除taget文件后重新compile或执行maven命令clean,如果还是出现同样的问题,则表明项目本身代码或配置文件有问题。
2、如果taget目录下找不到resource配置文件
在maven项目中pom.xml文件中加入以下配置内容:
<resource>
<directory>src /main/resource < /directory ><!--所在目录-->
<includes><!--扫描目录下.properties,.xml 文件-->
<include>**/*.properties< /include >
<include>**/*.xml< /include >
< /includes >
<filtering> false < /filtering >
< /resource >
问题五:编译war包并部署至tomcat,报错\out\artifacts not found for the web module信息
原因分析:
Idea默认路径是根目录/out,而maven项目的输入路径是在target目录下,因此需要手动调整为根目录/target。
解决方法:
打开Project Structure->Artifacts->Outputdirectory选项,此处填写maven编译target目录的绝对路径即可。
- 我怀疑这些是 IDEA 造成 BUG 问题,但又找不到任何证据!
- Linux 安装 MySQL 8.0.26 超详细图文步骤
- 各大厂面试整理 20 道 Java 后端开发面试题总结
- GitHub 和 Gitee 开源免费 10 个超赞后台管理面板,看完惊呆了
- 【079期】面试官:设计一个安全的登录都要考虑哪些?我一脸懵逼。。
- 【077期】面试官问:谈谈你对 Java 线程安全与不安全的理解和看法?
- Spring Boot从入门到精通(十一)集成Swagger框架,实现自动生成接口文档
- 【072期】面试官:对并发熟悉吗?说说 wait、notify、yield 等线程间的协作
- 利用注解 反射优雅的实现通用 Excel 导入导出(通用版附源码)
- Spring Cloud 从入门到精通(二)集成 Nacos 构建微服务实现服务注册
- 【066期】面试官问:说一下 Java 反射机制有哪些应用场景?
- 2021年面试,整理全网初、中、高级常见Java面试题
- 关于 Session 会话深入探讨
- 史上最全面的 Lombok 注解介绍,Look 一下吧!
- Intellij IDEA 使用 Groovy 脚本一键生成带注解的实体类详细步骤