欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

maven打包No compiler is provided in this environment和没有主清单属性

程序员文章站 2022-03-30 23:05:03
...

一。编译问题

maven打包遇到

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

按照https://blog.csdn.net/lslk9898/article/details/73836745 操作了一遍还是出错,光按 maven-Update Projects偶尔可以打包成功一次,但包运行时又会提示找不到主清单。  

无奈只能重新把jdk和maven都重新下载,结果好了

 

完整的操作:

1.我把jdk重新下载安装了

2.并在eclipse中设置 window- preferences - java - installed jres . 这里一定要设置成你电脑上的jdk 而不是jre

maven打包No compiler is provided in this environment和没有主清单属性

3.maven重新下载,并且在eclipse中设置,因为eclipse本身有maven插件,所以平常导maven项目看不出来问题

在window- preferences - maven - installations add上你自己下载的maven

maven打包No compiler is provided in this environment和没有主清单属性

在user settiongs中设置好 自己下载的maven的配置文件

maven打包No compiler is provided in this environment和没有主清单属性

4.右键点击项目,buildpath- configbuildpath。

确定使用的jre是自己jdk下的jre

maven打包No compiler is provided in this environment和没有主清单属性

然后就可以正常打包了。

二。没有主清单属性

但运行包又发现没有主清单属性,网上的方法都是自己加mainclass 或者是自己在pom文件中指定mainclass,

其实只要是springboot项目并且你在pom文件中 只要有springboot-maven插件,它就会打出正常的包

但我的项目有这个插件还是失败

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

我随便拉了一个sprinboot项目进行对比。 正常打包结果是这样的结果,包里有BOOT-INF

maven打包No compiler is provided in this environment和没有主清单属性

maven打包No compiler is provided in this environment和没有主清单属性

但我的结果是这样的:没有该有的信息

maven打包No compiler is provided in this environment和没有主清单属性maven打包No compiler is provided in this environment和没有主清单属性

 

我拿问题项目中的pom 内容复制到新springbooot项目中的pom,一个一个试,最后找到了罪魁祸首

我之前为了在其中加mybatis****,直接加****的插件会出错,就用了<pluginManagement>标签完成。就是这个标签影响了打包。去掉<pluginManagement>和****后,打包成功。

在网上也没有找到相关的信息,很奇怪

maven打包No compiler is provided in this environment和没有主清单属性