• java分模块项目在idea中使用maven打包失败(ps:maven常用到的命令)


    一、分模块项目打包失败

       情况:项目是分模块创建的,一些公共的方法是单独的一个模块common,其他模块依赖于此模块,poom依赖已经添加了,项目可以正常运行,但使用maven打包时出现了问题:找不到依赖的jar包;

       解决历程

      1. 首先对项目common依次进行clean、install。(注意:package和install是有区别的,package是把jar打到本项目的target下,而install时把target下的jar安装到本地仓库,供其他项目使用.)

      2. 检查在Common的pom依赖中是否定义spring-boot-maven-plugin插件,如果有则注释掉(注释父级的maven-plugin插件,只保留view子模块的maven-plugin插件)

        

      3. 此时打包,还是失败;找到总目录下的root项目,进行install操作,然后再次打包,成功了!

        

      参考文章:https://blog.csdn.net/liqi_q/article/details/80557157

    遇到的坑:

    1. maven子模块引入父模块中的资源文件时,引用失败,所以项目启动时出现如下错误:

       Caused by: java.lang.NumberFormatException: For input string: "${jdbc.initialSize}"

        经过测试(注释掉资源文件中用到的配置),知道是资源文件引入失败的额问题;

      解决方法:

        后来经过对比、度娘才知道,是父模块中的poom依赖有问题,少了一项配置  <packaging>pom</packaging>,如下,添加此配置

        

      重新编译,项目成功运行,问题解决。

    二、maven常用命令

        1. 顺便记录一下maven常用到的命令中 compile、package、install的区别:

      clean:清理删除已有的target目录;

      compile:编译项目,此时生成的target目录下只有编译后的文件,但是是没有jar包或者war包的;

      package:编译打包,生成的target目录下有编译文件和打包生成的jar包或者war包,但是这个打的包是没有放到本地maven仓库的,

            带来的影响就是:如果有b项目依赖此jar包,则在打包b项目时,会在本地仓库中找不到此jar包,导致打包出错:找不到依赖的jar包;

      install:编译打包,并将打的包放在了maven本地仓库中,可供别的项目调用;

      deploy:包含mvn install操作,并且上传到私服(远程仓库),注意:使用此命令时需要配置poom依赖以及setting.xml文件,具体可参考:https://comeonbabye.iteye.com/blog/1742506

      

     2. idea中直接点击右侧的maven projects,即可操作

       

     3. 使用终端命令时:

      首先要进入到项目目录下,然后再继续执行命令

        

          

      

  • 相关阅读:
    1265 四点共面
    1298 圆与三角形
    1264 线段相交
    1185 威佐夫游戏 V2
    1183 编辑距离
    1089 最长回文子串
    HTML5 boilerplate 笔记(转)
    Grunt上手指南(转)
    RequireJS 2.0初探
    RequireJS学习笔记
  • 原文地址:https://www.cnblogs.com/mufengforward/p/9198352.html
Copyright © 2020-2023  润新知