Maven大坑

很多人说现在开一个项目都用maven了.
呃, 说得maven多么好, 多么自动化.
其实这个免费软件虽然功能好, 但是设计bug一大堆好吗.
为什么愣是没人承认这件事?

坑一: 去哪找你要的jar包?

一般会告诉你第一次上一个国外的网站上去搜就行了.
于是就去了.
可用仓库网址:
http://search.maven.org/#browse
http://mvnrepository.com/
http://repository.sonatype.org/index.html#welcome
http://www.mvnbrowser.com/
视频教程里面用的第一个啊.
结果搜Junit出来几十个junit有木有.
视频里面那家伙说他靠经验来选哪一个.
太坑了. 要不就是他不行, 要不就是他有意坑人.
结果我上网一搜, 用了第二个网址, Junit出来只有三个项目, 每一个还带说明有木有!!! 还靠什么经验来选, 怒!

坑二: 解决jar包冲突的工具自己jar包冲突

都说Maven是用来解决jar包冲突的.
我太特地去搞了本『Maven实战』这本书来学习.
整本书下来就jar包版本冲突这件事情避开不讲.
我就不信你开发过程中没遇到过.
里面就讲了『因为某些原因』这样含糊的字眼教大家解决.

其实原因就是A.jar引用了C-1.0.jar, 但是后面B.jar要用的是C-2.0. 但是因为配置的时候A.jar写在前面, 它自动就将B.jar的C的依赖忽视掉了. 最简单的解决办法就是将B.jar的导入写在前面.
官方的做法就是在配置pom.xml中添加忽略语句. 这里就不写了.
据说这个问题gradle(另一个布署工具)有比较好的解决方式.

坑三: Maven默认用java1.5的版本

在idea中使用maven创建webapp, 默认是使用language level是1.5. 需要进入Project Structure ->Models -> source -> language level 改.

坑四: 与idea结合出现编译版本输出版本不一致问题

tomcat+springMVC+maven, 在Make的时候出现以下提示:

源发行版 1.8 需要目标发行版 1.8

解决方案:
在idea的setting -> java compiler -> Target bytecode version 改为 1.8

坑五: idea无法加载项目目录原型 显示 loading archetype list...

原因: jvm最大可用内存太小, 但是不知道和maven什么关系

解决:
img
img
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,975评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,027评论 19 139
  • 乱码 在部署某产品的时候, 出现了诡异的编码错误,主要体现为: 登陆提交的表单会自动加一串奇奇怪怪的乱码 Cons...
    叠搭宝箱阅读 643评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,786评论 25 709
  • 我有一个爱人是天蝎座。 从年少时,满满期待地,不真实地,爱。 我搜集很多天蝎座的物品,我爱上这个星座。 后来,我有...
    唐四月阅读 253评论 0 0