博客
关于我
idea中多模块项目MAVEN打包若干问题的解决方案
阅读量:480 次
发布时间:2019-03-06

本文共 1855 字,大约阅读时间需要 6 分钟。

(一)找不到引用的其他模块

问题:

在Maven中出现Could not find artifact …:pom:0.0.1-SNAPSHOT的错误

原因:

多模块项目构建时,先将parent项目要先install一回,之后子项目才可以运行mvn compile命令,否则就会报如上异常。

(二)spring-boot-maven-plugin:1.5.3.RELEASE:repackage failed: Unable to find main class

SpringBoot打包报错:

错误信息:

[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.3.RELEASE:repackage (default) on project webapps-api-bid: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.5.3.RELEASE:repackage failed: Unable to find main class

解决方式:

不使用springboot的maven插件,改为使用普通的maven插件,使用springboot的maven插件意味着每个模块都需要有启动类,而使用普通的插件则不需要。

org.apache.maven.plugins
maven-compiler-plugin
1.8
1.8
${project.build.sourceEncoding}

(三)Error:java: Compilation failed: internal java compiler error 解决办法

错误现象

使用Idea导入新项目或升级idea或新建项目时会出现以下异常信息:

Error:java: Compilation failed: internal java compiler error

在这里插入图片描述

错误原因
导致这个错误的原因主要是因为jdk版本问题,此处有两个原因,一个是编译版本不匹配,一个是当前项目jdk版本不支持。

查看项目的jdk

File ->Project Structure->Project Settings ->Project或使用快捷键Ctrl+Alt+shift+S打开项目的jdk配置:
在这里插入图片描述
查看此两处是否与目标jdk一致。

查看工程的jdk

点击上图中Modules查看对应jdk版本:
在这里插入图片描述
查看java编译器版本
在这里插入图片描述
导入java项目时此处处问题的概率比较多。

针对此问题,重新打开或修改pom文件(maven项目)中的内容很可能导致jdk版本重新变为1.5。如果是maven项目,可在pom文件中指定jdk相关信息:

org.apache.maven.plugins
maven-compiler-plugin
1.7
1.7

(四)IDEA Error:java: Compilation failed: internal java compiler error

解决办法很简单:File–>Setting…–>Build,Execution,Deployment–>Compiler–>Java Compiler 设置相应Module的target bytecode version的合适版本(跟你jkd版本一致),这里我改成1.8版本的。

转载地址:http://irxdz.baihongyu.com/

你可能感兴趣的文章
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
查看>>
MYSQL中TINYINT的取值范围
查看>>
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>