Maven 构建 的坑
Posted 鱼在天上飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven 构建 的坑相关的知识,希望对你有一定的参考价值。
1,
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project pbh-cmpt: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ? -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
原因: 构建时
maven-surefire-plugin 插件 执行时 内存不够;
解决: 配置插件的 执行内存

2,
如下:部分异常内容
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.006 sec <<< FAILURE! dealInfoData(com.shfb.pbh.cmpt.SavePbhComponentTest) Time elapsed: 0.964 sec <<< FAILURE! java.lang.AssertionError: java.io.FileNotFoundException: ./ehcache/ehcache_auto_created2787906805026561406diskstore/%0053%0059%0053_%0046%004f%0052%004d_%0043%0041%0043%0048%0045.data (打开的文件过多)
at net.sf.ehcache.Cache.initialise(Cache.java:1103) at net.sf.ehcache.CacheManager.initializeEhcache(CacheManager.java:1306) at net.sf.ehcache.CacheManager.addCacheNoCheck(CacheManager.java:1337) at net.sf.ehcache.CacheManager.addCache(CacheManager.java:1235) at net.sf.ehcache.CacheManager.addCache(CacheManager.java:1202)
Caused by: java.io.FileNotFoundException: ./ehcache/ehcache_auto_created2787906805026561406diskstore/%0053%0059%0053_%0046%004f%0052%004d_%0043%0041%0043%0048%0045.data (打开的文件过多) at java.io.RandomAccessFile.open(Native Method) at java.io.RandomAccessFile.<init>(RandomAccessFile.java:241) at com.terracottatech.offheapstore.disk.paging.MappedPageSource.getWritableChannel(MappedPageSource.java:138) ... 69 more
第一眼看到“打开文件过多” 以为是环境问题;
执行如下命令,查看liunx 支持最大打开文件 数;
ulimit -n (默认 1024)
设置最大数:
若要 临时 改变这两个参数值,可以使用 ulimit -n 10240 ,ulimit -u 10240,
若要 长久 改变这两个参数值,就要修改/ect/security/limits.conf,在文件中加上两行:
* - nofile 102400
* - nproc 102400
调整后依旧报相同错误;仔细查看异常内容,
又看了一遍 ecache 的配置(http://www.cnblogs.com/cnjava/archive/2012/08/03/2621282.html)
(最后改变了,缓存策略,不使用 ecache)
以上是关于Maven 构建 的坑的主要内容,如果未能解决你的问题,请参考以下文章
Jacoco和Tycho surefire的Eclipse RCP插件代码介绍