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

摘要:
2.检查spring boot maven插件是否在公共pom依赖项中定义,如果是,请将其注释掉。3.此时包装失败;在常规目录中找到根项目,安装它,然后再次打包!

一、分模块项目打包失败

   情况:项目是分模块创建的,一些公共的方法是单独的一个模块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插件)

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

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

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

  参考文章: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>,如下,添加此配置

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

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

二、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,即可操作

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

 3. 使用终端命令时:

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

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

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

  

免责声明:文章转载自《java分模块项目在idea中使用maven打包失败(ps:maven常用到的命令)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一行代码搞定图片缩放、旋转、加水印NPOI操作Excel(二)--创建Excel并设置样式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

iOS如何实时查看App运行日志

Linux下管理挂载IOS设备——libimobiledevicehttps://www.jianshu.com/p/6423610d3293https://blog.csdn.net/fengzei886/article/details/53380009#####gitlib下载包--编译安装git clone https://github.com/li...

AntDesignVue中关于Table组件的使用

1. 如何自定义表格列头: <a-table :columns="columns":dataSource="dataSource"> <span slot="customTitle"><a-icon type="smile-o"/>Name</span> </a-tabl...

IIS 5.0/5.1 进程回收

IIS 5.0 Process Recycling Tool,IIS5Recycle 是作为一项服务运行在运行着 Windows 2000 和 Internet Information Services (IIS) 5.0 的计算机上的。 IIS5Recycle 的目的是要重复利用过程,在资源消耗问题影响到性能和可靠性之前将其影响降到最小程度。 这一工具可...

linux下安装zabbix服务器

1、lnmp环境安装(linux、nginx、mysql、php) 2、安装php所需模块以及其他模块 yum install -y php-bcmath yum install -y php-mbstring yum install -y php-mysql yum install -y php-xml yum install -y php-gd yum...

Maven编译打包出错:找不到符号

项目中,使用的是maven管理,但是有几个jar不是通过maven引入的,是通过IDEA导入的,在使用maven插件编译的时候,会出现如下的一些错误: 解决方法: 在项目中创建一个目录lib,然后将jar复制到该文件夹下,最后在maven编译插件中配置如下 1 <plugin> 2...

mybatis源码分析(5)-----拦截器的实现原理(动态代理+责任链)

写在前面   MyBatsi 的拦截器模式是基于代理的代理模式。并且myBatis 的插件开发也是以拦截器的形式集成到myBatis 当中。   MyBatis 的拦截器已经插件是在org.apache.ibatis.plugin包下面。   MyBatis拦截器可以拦截的类,Executor(执行器),ParameterHandler(参数处理器),R...