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

使用intelij idea构建多模块maven项目时出现No compiler is provided in this environment. Perhaps you are running on a JRE rather than a的错误,确保已添加jdk的0JAVA_HOME、CLASS_PATH以及Path变量

重启idea,再打包命令,没有再出现该问题。

关于多模块maven项目打包示例:

其中,cixi_guoji是父pom,其packaging必须为pom

web模块是最终要打包的war项目,该模块依赖了其他的模块,所以web的packaging为war,当然如果要打包成jar,那就改成jar,而其他模块作为依赖,需要以jar的形式为web所依赖,由于packaging的默认是jar,所以可不不必为其他模块加packaging。

查看父pom.xml,,注意将web

模块注释掉,如果不这么做,那么在执行install命令时,会将web模块也当成依赖进行编译,这显然是错误的。注释的时候,注意这里要选no,,这样做不会改变目录结构。

扫描二维码关注公众号,回复: 114261 查看本文章

打开web的pom.xml文件,

这里的finalName就是最终打包的war包文件名。

接下来,在父pom.xml同级目录下执行命令mvn clean install,回车等结果:

这个命令会将packaging为jar的模块打包成jar,并加入到你本地的maven指定的仓库目录下。如图:

接着,进入web模块,执行命令mvn clean package,

结果:

打包成功,

cixi.war就是我们最终要部署的应用了。

猜你喜欢

转载自my.oschina.net/junko2013/blog/1623241