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 构建 的坑的主要内容,如果未能解决你的问题,请参考以下文章

Maven学习遇到的坑

Jacoco和Tycho surefire的Eclipse RCP插件代码介绍

Idea构建Maven项目教程

maven maven.compiler.source和maven.compiler.target的坑

如何用ffmpeg截取视频片段&截取时间不准确的坑

关于maven-resources-plugin配置的隐藏的坑