首先这个报错,通常要么是依赖问题,比如模块之间的依赖传递问题,通常报这种错误会在控制台提示。
或者是比如子工程分为test-entity、test-dao、test-service、test-web三者之间依赖传递,web依赖为service,service依赖于dao,dao依赖于entity。
比如修改了test-entity,没有及时执行mvn install,会导致test-web启动报错。这种报错,通常及时修改并mvn install是可以避免的。
不过在此讲的一个mvn install 报错问题,原因与上述所说无关。
问题出现的原因是:新开一个wordspace空间,新建maven项目,并在执行mvn install时报错
错误信息截图如下:
红色标记处是根本原因。
错误信息翻译过来的意思是:也许您是在JRE上运行,而不是在JDK中运行。
这就表示必须要在jdk环境运行,因为jdk中包含java工作需要的类库同时也包含java所需运行的环境jre。另外也不得不提到maven安装,安装maven的时候,前提必选安装jdk,没有jdk,maven是跑不起来。这就好比为什么安装java时要配置环境变量,其实不配也可以运行跑起来,但是必须要进入对应的安装目录bin下面。不然是无法执行java命令的。配置环境变量的意义是可以供全局使用。配置maven的环境变量意义也是如此,maven环境中需要java的类库,如果没有java的类库是会报错的,这也就解释了那句错误信息的原因。
顺便说说jre和jdk的区别,这也是初中级Java开发工程师常见的面试题:
在计算机开发语言的历史中,从来没有哪种语言象Java那样受到如此众多厂商的支持,有如此多的开发工具。
金字塔结构 JDK=JRE+JVM+其它 运行Java程序一般都要求用户的电脑安装JRE环境(Java Runtime Environment);没有jre,java程序无法运行;而没有java程序,jre就没有用武之地。
解决办法:
步骤一:点击Eclipse上面导航栏的一个叫Window菜单,点击它会出现一个下来菜单,点击下来菜单中的Preference进入到如下界面:
步骤二:点击InstalledJRES 选中jdk1.8.0,再点击remove进行删除
步骤三:删除后,点击Add
步骤四:点击Add 会进入这个界面,选中Standard VM,再点击下方next,进行下一步
步骤五:在步骤四的基础上,会出现如下界面,该界面请点击Directory,这个Directory是存放jre的地方,你所要做的是找到jdk安装路径,选择jdk下面的jre
步骤六:选择jdk下对应的jre后点击finish
步骤七:选中jre,点击Apply And Close即可
通过上述步骤即可解决问题
大家或许会疑问为什么