java.lang.StackOverflowError

       JUnit Test的时候出现了这个栈溢出的错误,如下图。


    StackOverflowError,虚拟机栈和本地方法栈溢出。

    关于虚拟机栈和本地方法栈,在 Java 虚拟机规范中描述了两种异常:  
1.如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出 StackOverflowError 异常。  
2.如果虚拟机在扩展栈时无法申请到足够的内存空间,则抛出 OutOfMemoryError 异常。 

    所以栈溢出出现的场景还是有很多种,但是在这里,之所以会出现这种情况是因为maven的配置问题

       

    右键项目-properties-maven,可以看到这里什么都没有写~,然而根据pom.xml的配置,这里应该写个test的。

   

    具体写什么就看id名是什么咯,这个地方经常会写dev的。

    在之前的博客里我提到要仔细的学习技术,为了做到言行一致,就来探索一下为什么要这么做的原因吧!

    maven几乎是一工作就接触到了,但是没有细细的研究过,一直只是把maven作为管理诸多jar包的一个工具,并没有去认真的了解这些配置及参数的含义。

    比如groupId跟artifactId,在《Maven 实战》这本书里就提到groupId定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联,譬如你在 googlecode 上建立了一个名为 myapp 的项目,那么groupid就应该是com.googlecode.myapp;

    artifactId定义了当前Maven项目在组中唯一的ID,这句话是个什么意思呢?我也不知道,但是我发现大多数artifactId都是项目的名字。

    还有version啊,默认的就是0.0.1-SNAPSHOT,SNAPSHOT是快照的意思,说明该项目还处在开发中,是不稳定的版本,要是改个别的当然也是可以的。

    具体的可以参看《Maven实战》这本书,没有的可以来这个地方下载一本研究下http://download.csdn.net/detail/yolanda_nuonuo/9789705

    工作年限不长,但是在我的强迫症师父的带领和督促下,让我对这些规范也有了迷之执着,顶见不得别人写代码等号左右没有空格,like this

真的是分分钟drive me crazy!还有一个方法里恨不得写个几千行也不按功能分几个出来,更可怕的是!别的地方再写一个方法又写个几千行,里面还有跟刚才重复的几千行代码,那就真的是......

    跑偏了~~~其实想说active maven profiles是干嘛用的,这个是激活maven profiles的方式

    <activation>
	<activeByDefault>true</activeByDefault>
   </activation>
加上这一句话就可以配置默认自动激活,具体可参考这篇博文 http://juvenshun.iteye.com/blog/208714


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值