详解Maven项目Dependencies常见报错及解决方案

个人最近项目中所遇到的问题,记录下便自己和同样遇到问题的小伙伴提供一个参考。

通常Maven里报红波浪线的常见问题

①可能是子工程没有继承父工程

注意父工程中有中对应的module:

<groupId>com.fred.parent</groupId>
<artifactId>mall</artifactId>
<version>1.0-SNAPSHOT</version>
<modules>
    <module>fred-api</module>
</modules>

注意子工程中有对应的parent:

<parent>
    <groupId>com.fred.parent</groupId>
    <artifactId>mall</artifactId>
    <version>1.0-SNAPSHOT</version>
 </parent>
 <artifactId>fred-api</artifactId>

②可能是导包智能提示一回车导致导错了包

例如:
父工程:

<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud-dependencies.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
</dependencyManagement>

子工程:

<dependencies>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-cloud-starter-eureka</artifactId>
   </dependency>
</dependencies>

注意看groupId,父工程是org.springframework.cloud,而子工程是org.springframework.boot,这种情况Maven会因为找不到要导入的包而导致MavenDependencies报红波浪线,但是在pom.xml文件中却不报错,并且显示正常,此时这种简单而又不容易找到的错误,毫不夸张的说还真能让人找个一天半天的。

③Maven构建本身问题

有时候怎么查都没问题,并且确定pom.xml是没问题的,而且Reimport All Maven ProjectsGenerate Sources and Update Folders For All Projects都没用。这个时候一般都是Maven本身的Bug了。你把出错的项目下的pom.xml文件中的dependencies剪切掉(Ctrl+X),然后再保存(Ctrl+S),再撤回(Ctrl+Z),再保存(Ctrl+S),Reimport All Maven ProjectsGenerate Sources and Update Folders For All Projects一下,你会发现红色波浪线消失啦。至于问题的根本原因我也不是很清楚。

④Maven项目显示灰色导致其他项目由于缺包类型无法使用

如图中所示:

这是由于被Maven忽略了。

通过Settings->Build->Maven->Ignored Files中

去掉这个√,Apply即可。

到此这篇关于详解Maven项目Dependencies常见报错及解决方案的文章就介绍到这了,更多相关Maven Dependencies常见报错内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Maven dependencies与dependencyManagement的区别详解

    在上一个项目中遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别,本篇文章将这些区别总结下来. 利用pom管理引用包时,如果是单项目的话就直接在dependencies引用了,若有一个大工程项目里面包含多个子模块,则为了所有项目模块包的版本统一和好管理,则需要用到dependencyManagement,但两者使用场景有所区别. 1.DepencyManagement应用场景 当我们的项目模块很多的时候,我们使用Maven管

  • 解决maven中只有Lifecycle而Dependencies和Plugins消失的问题

    idea2019.2.2中,导入新的maven项目后,在maven project中只有LifeCycle,没有Dependencies和Plugins 的解决方法 其实主要原因是因为IDEA2019.2.2与maven3.6.2(已测试)及以上(未测试)不兼容 话不多说上图 如图,在idea中导入一个新的maven项目,maven中,只有Lifecycle,而Dependencies和Plugins消失,并且点击reimport无效. 解决方法 从maven官网中下载maven3.6.1版本,

  • 详解Maven项目Dependencies常见报错及解决方案

    个人最近项目中所遇到的问题,记录下便自己和同样遇到问题的小伙伴提供一个参考. 通常Maven里报红波浪线的常见问题 ①可能是子工程没有继承父工程 注意父工程中有中对应的module: <groupId>com.fred.parent</groupId> <artifactId>mall</artifactId> <version>1.0-SNAPSHOT</version> <modules> <module>

  • 详解Maven项目缺少Maven Dependencies解决方法总结

    一.今天搭建了一个maven项目,在pom.xml文件引入依赖后,发现项目结构中没有Maven Dependencies文件(下图),但是在java Build Path中又可以找到Maven Dependencies文件(如下图): 但是,pom.xml文件中添加的依赖jar包也不会自动下载到项目中,update Project也是一样,于是是网上查找了很多方法,尝试后都发现没有用,最终,查看自己的pom.xml文件,发现是在依赖前面写了<dependencyManagement>这个标签(

  • 详解Maven JAR包冲突问题排查及解决方案

    前言 写这篇文章的初衷是因为今天在使用mvn dependency:tree命令时,突然想起一年前面试阿里的一道面试题.面试题是说假设线上发生JAR包冲突,应该怎么排查?我那时候的回答是IDEA有个Maven Helper的插件,可以帮忙分析依赖冲突,然后还有一种办法是如果一个类import的时候提示两个地方可导入,那就说明有冲突.现在回头想想确实太不专业了,以下是一次JAR包冲突的一个比较正规的流程,是通过整理几篇博客后总结的希望对大家也有帮助,如果有错误的地方也欢迎指出 GitHub地址:h

  • 超全面python常见报错以及解决方案梳理必收藏

    AttribteError: 'module' object has no attribute xxx' 描述:模块没有相关属性.可能出现的原因: 1.命名.py文件时,使用了Python保留字或者与模块名等相同. 解决:修改文件名 2.pyc文件中缓存了没有更新的代码. 解决:删除该库的.pyc 文件 AttributeError: 'Obj' object has no attribute 'attr' 描述:对象没有相关属性.可能出现的原因: 1.Python内置对象没有属性. 解决:去除

  • Vue常见报错以及解决方案实例总结

    目录 前言 一.报错结构 二.常见问题总结及解决方法 Mixed spaces and tabs Element is missing end tag TypeError: Cannot read properties of undefined (reading '...') TypeError: ...forEach is not a function '...' is not defined / no-undef 总结 前言 写代码的过程中一定会遇到报错,遇到报错不要担心,认真分析就可以解决

  • IIS7 网站发布常见报错问题解决方案汇总

    本文实例为大家分享了IIS7 网站发布常见问题,以及五种问题的解决方法,供大家参考,具体内容如下 1.不是有效的Win32位应用程序 : 解决方案: 1).进入应用程序池=>选中网站=>点击右侧"高级设置"=>将运行32位选项改为"True" 2.在IIS如何修改.NET FrameWork的版本 3.发布mvc遇到的HTTP错误 403.14-Forbidden解决办法 web.config增加<modules runAllManagedM

  • 详解Vue项目部署遇到的问题及解决方案

    写在前面 Vue-Router 有两种模式,默认是 hash 模式,另外一种是 history 模式. hash:也就是地址栏里的 # 符号.比如 http://www.example/#/hello,hash 的值为 #/hello.特点:hash 虽然出现 URL 中,但不会被包含在 HTTP 请求中,对后端不会产生什么影响,改变 URL 不会重载页面. history:利用了 HTML5 History Interface 中新增的 pushState() 和 replaceState()

  • npm install常见报错以及问题详解

    目录 前言 一.ERESOLVE unable to resolve dependency tree 1.可能性一:镜像源无法访问 2.可能性二:npm版本过低或者过高 3.可能性三:node和npm版本不匹配 二.Error: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/yarn’ 三.Error: Can’t find Python executable “python”, you can set the PYT

  • 详解Maven POM(项目对象模型)

    POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等. 执行任务或目标时,Maven 会在当前目录中查找 POM.它读取 POM,获取所需的配置信息,然后执行目标. POM 中可以指定以下配置: 项目依赖 插件 执行目标 项目构建 profile 项目版本 项目开发者列表 相关邮件列表信息 在创建 POM 之前,我们首先需要描述项目组 (groupId), 项目的

  • 详解vue-cli项目在IE浏览器打开报错解决方法

    首先要知道VUE官网已表明仅支持IE8以上版本(不包括IE8),css弹性布局flex各浏览器支持如下: 假如项目用到弹性布局,则项目仅支持IE10以上版本. 另外兼容其他低版本的,请另寻它法. 网上说的本人试了都是没用的,下面是亲自试验的解决方法. 1. 问题 :ie浏览器打开vue2.0项目空白,控制台报错 vuex requires a Promise polyfill in this browser; 解决方法: 安装babel-polyfill npm install babel-po

随机推荐