Maven编译报错: 找不到类
刚从Eclipse换成Idea,真的难受,整体感觉,Idea这种东西该智能的时候不智能,不该智能的时候自作聪明,卡顿、界面也不清爽,可能是不适应的缘故,src\main\java在eclipse中本来就是一个独立的目录,在idea中弄得跟屎一样,还得自己创建并mark as ……,一不小心目录错了,编译不出字节码,瞎着急半天没找到错。
总之,即使Idea越来越友好于微服务开发,还是觉得Eclipse简约好用。
Idea让我眼花缭乱,在使用Maven编译时,竟然出现找不到依赖包中的类,搜了各种方法。 1.clean重新编译 2. 统一编码 3. Invalidate caches and resart 都不行
最后,竟然发现,编译后的target的class目录内竟然没有字节码,查看原因,擦,原来是源码目录java\ 没有放在main目录下,而是直接放在了src目录下,Maven自然不会将源码打包,找了半天,原因在这,问题排解。
结论:源码包没有放在main下,而是放在了src下,Maven编译失败。除了缓存,依赖包的原因,找不到类和标记多和目录有关。
Maven的命令
clean:清除
compile:编译,生成target目录,将编译后的字节码和配置文件放入
package:打包,即,除了编译外,将target中的相关文件打成jar包
install :编译打包后,将jar包放到本地仓库,只有放到本地仓库,这个jar包才能被依赖。
排错思路:
不要一个点一直不放过,一直调,要根据链路追踪每个问题的所在