IDEA + Maven

Maven


常见问题

  • 检出项目后,不能添加到Tomcat;同时点击项目中的代码类,CTRL+鼠标不能进入源码;IDEA右侧MAVEN PROJECT 菜单,提示 there are no maven project;项目无maven

    • 解决:pom.xml 右键,Add as maven build file
  • JAR包升级失败:

    • IDEA 中右侧 MAVEN PROJECT 菜单,选择需要打包升级的包,点开,点击 clean 命令,点击 deloy 命令
    • 执行 deloy 命令失败,提示无授权,点击 setting –> maven – > 将读取 setting 配置文件的路径改换为默认C盘的路径及maven仓库的位置
  • 项目结构,IDEA中建立多项目结构,即一个根项目下包含多个子项目,每个子项目有独立的pom.xml 文件;其中api项目为当前项目中基于dubbo的对外RPC接口,包含参数包、返回值包、API接口包;其中server项目为api项目的接口实现

  • 问题:在对外接口的实现类的方法中接收到的参数类始终是上一个版本的

    • 描述:开发过程中,先修改了api项目中的参数,由于接口联调,先先修改了api/server中的pom.xml 版本号,并对api项目执行mvn deploy 命令,生成了相应的jar包;后期修改参数中的属性,再次deploy api ;接口调试时对方确认传参是正确的,但这边接收参数时始终是上一个版本的参数PO类,而不是最新的;纠结了很久很久,后来又将po类的jar包,升了一级,还是没有解决问题;最终的解决方式:MVC 整个项目,理由:修改po参数类后,只执行了api项目中的clean / deploy 命令,但 server 项目未执行,此项目中依赖的po参数类依然是上一个版本的,问题原因在此;
    • 为避免上述的问题,每次部署时都clean一下整个项目:edit configuration –> maven –> server –> 最下方 点击+ –> run maven goal –> 添加 clean install -Dmaven.test.skip -U
  • 在 IDEA 中 Terminal 执行 mvn -version 时控制台展示 Default locale: zh_CN, platform encoding: GBK

  • platform encoding: GBK 指的是当前系统的编码字符集,而非Maven的字符集编码

pom.xml

  • 版本号:xxx.xxx.xxx-SNAPSHOT 与 xxx.xxx.xxx 的区别
    • xxx.xxx.xxx-SNAPSHOT :快照版本,用于开发环境,团队间联调使用,可随时变更代码并重新打包,提醒调用更新依赖即可
    • xxx.xxx.xxx :正式版本,用于生产环境,每一次的版本升级,必然包含接口新增、实体类变更等因素,所以只能做一次升级,而不能频繁的变更
  • pom.xml
    • modules :多模块项目,通过在主项目的pom.xml中配置 module 管理各个子项目
    • parent :子项目的pom.xml通过配置parent关联主项目
    • artifactId:项目名称;打开pom.xml 文件展示的文件名称不是pom而是 artifactld 配置内容
    • packaging : 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , par

参考资料


maven install的时候下载的jar包是xxx.jar.lastUpdated后缀

  • 同事在检出项目后,发现加载不到相应项目依赖
    • 检查发现本地maven私服中加载的jar包都是以 .jar.lastUpdated结尾,而不是真正的jar包
    • *.jar.lastUpdated文件是Maven下载依赖失败后产生的;此时即使配置正确,依然不回去请求正确的jar包
    • 解决方法是删除所有*.jar.lastUpdated的文件,重新 mvn install

参考资料


常用命令

  • IDEA 右侧 Maven Project 窗口
    • MVN deploy :将maven依赖上传

参考资料

猜你喜欢

转载自blog.csdn.net/mingyundezuoan/article/details/79677181