idea maven 打包报错 --xxxx\target\classes does not exist or is not a director --java: -source 1.5 中不支持 d

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 .

你可能感兴趣的:(编程,项目管理,maven,intellij,idea)