Maven编译报错集锦

no compiler is provided in this environment .perhaps you are running on a jre rather than a jdk

这个报错主要是因为项目依赖的JRE System Library 不是jdk
可以通过查看和修改项目根目录的.classpath文件解决

一个大的模块下包含三个小的模块,结构如下,consumer和provider依赖common,最外层父工程打包方式为pom,子工程打包方式为jar
这里写图片描述
在最外层打开命令行执行如下命令,执行到provider或者consumer的之后报错编译失败,依赖的common包里的一些类找不到,但是这两个项目都可以正常启动,由此推断打出来的common的jar包有问题,检查jar包发现所有的包和类都放到了BOOT-INF文件夹中,由此可以判断是springboot的打包插件有问题

mvn clean    //此命令是为了清理工程,删除之前打包生成的文件
mvn package  //打包工程
mvn install  //将打包后的工程安装到本地仓库

springboot打包插件如下

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

修改为maven原生的打包插件后打包成功

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

多模块的maven工程的打包顺序
1:父工程
2:子工程中的公共工程
3:子工程中的普通工程
如果执行了1,2之后子工程依然报错,依赖的一些公共工程里的类找不到,就把1,2执行生成的文件安装到本地仓库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值