首页 > 编程语言 > 详解Maven项目Dependencies常见报错及解决方案
2020
11-06

详解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项目显示灰色

这是由于被Maven忽略了。

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

去掉这个√

去掉这个√,Apply即可。

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

编程技巧