idea maven 打包报错 --xxxx\target\classes does not exist or is not a director --java: -source 1.5 中不支持 diamond 运算符
1.xxxx\target\classes does not exist or is not a director
- 在build project 之后,target会自动成,ackage仍报错;
- 通过idea界面右侧maven,lifecycle下的clean,清除target,重新build打包仍报错;
- 检查src下的文件是否有中文命名,修改所有中文文件为英文名,清除target,重新build打包仍报错;
- 检查项目所在路径是否有中文,移动项目至全英文路径下,重新加载项目打包报第二个错;
2.–java: -source 1.5 中不支持 diamond 运算符
- 查看错误代码,发现是使用了如下格式:
private static Map<String, JedisSentinelPool> poolMap = new HashMap<>();
private static Hashing algo = Hashing.MURMUR_HASH;
private static TreeMap<Long, String> nodes = new TreeMap<>();
- 尖括号处报错,可以选择在空的尖括号里将等号左侧的类型填入,报错解决。
- 或者在file->setting->java compiler 中module改为1.8(java jdk 为1.8);
- file->project structure->modules->source language level选择5以上的,点击apply;
- file->project structure->project->sdk 选择自己安装的版本1.8,anguage level选择5以上的点击apply。
- 最后发现都设置了,还是没有起作用,注意看到设置project structure->modules时下方有一个提示,当maven重新加载时,该设置可能会丢失。此时回到idea主界面,留意到右下角有一个小弹窗,提示import maven changes,点击import maven changes 。再打包,成功没有报错。
此处要注意的是idea的一些设置有时不被maven识别,注意及时import maven changes .