`
yuyujulin
  • 浏览: 11683 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用Maven是出现OutOfMemory错误,即使设置了MAVEN_OPTS也不起作用

阅读更多

今天终于找到了一个困扰我多时的Maven问题: CMD下做mvn clean install 时,在跑unit test的时候会出现OutOfMemory的错误,即使根据网上的结果在mvn.bat 里面设置了set MAVEN_OPTS=-Xmx1024m -Xms512m也不起作用。但是在RAD中却能顺利通过。

今天从此外文链接中找到了问题的答案:

http://stackoverflow.com/questions/4066424/java-lang-outofmemoryerror-java-heap-space-in-maven

原来是Maven的 maven-surefire-plugin 插件默认会fork出一个新的jvm去跑unit test, 所以上面设置的MAVEN_OPTS 并不会对surefire插件新开的jvm起作用。

两种方法来解决这个问题:

1.  把forkMode 设置为never(这不是一个好主意,因为maven不会与test隔离)

2. 使用argLine 参数(正确的做法),类似如下:

<configuration> 
 
<argLine>-Xmx1024m</argLine> 
</configuration> 

 

但是实质上这个问题,很有可能还是unit test的内存泄露问题引起的。

 

------updated on 2011-12-28

今天又发现一个解决方法,将JAVA_HOME 目录指向WebSphere7.0提供的java目录,则可以完全通过

分享到:
评论

相关推荐

    MAVEN使用最佳实践

    可以在系统环境变量中设置 MAVEN_OPTS,例如在Windows中编辑 `%M2_HOME%\bin\mvn.bat` 文件,增加 `-Xms` 和 `-Xmx` 参数,比如 `set MAVEN_OPTS= -Xms128m -Xmx512m`。在Linux环境中,可以在 `/etc/profile` 文件中...

    maven内存溢出解决放啊

    2. **修改脚本**:在文件中找到这一行代码`@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE`,将其下方添加一行新的代码`set MAVEN_OPTS=-Xms128m -Xmx512m`。其中`-Xms128m`表示最小内存分配为128MB,...

    使用Maven导入Maven工程的视频教程

    使用Maven导入Maven工程的视频教程 仅供学习交流! 后续会持续分享相关资源,记得关注哦! 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入...

    maven可以帮助者我们完成一站式部署

    具。 maven可以帮助者我们完成一站式部署。依赖管理、自动生成项目站点 maven的安装与配置 1.... 从网络将maven下载. 直接解压就可以. 2.... set MAVEN_OPTS= -Xms128m -Xmx512m

    apache-maven-3.6.0_apache-maven-3.6.0_maven压缩包_maven3.6.0下载_

    对于`M2_HOME`或`MAVEN_HOME`,则应指向Maven 3.6.0的解压目录。最后,将Maven的bin目录添加到系统的PATH变量中,这样就可以在任何地方通过命令行运行`mvn`命令。 配置Maven的`settings.xml`文件是定制化Maven行为...

    如何提高Maven多模块项目编译速度.docx

    可以通过增加 MAVEN_OPTS 环境变量来提升Maven的内存分配,如 `export MAVEN_OPTS="-Xms256m -Xmx1024m"`。 9. **使用构建工具集成优化**: 如果你使用的是IDE,如IntelliJ IDEA或Eclipse,它们通常有内置的Maven...

    SpringBoot项目使用maven配置文件

    - 当出现依赖冲突时,可以通过 `&lt;dependencyManagement&gt;` 标签进行统一管理,或者使用 `&lt;exclusions&gt;` 标签排除不需要的子依赖。 8. Maven的命令行工具: - `mvn clean` 清理项目。 - `mvn compile` 编译源代码...

    xjar_maven_plugin.rar

    【xjar_maven_plugin.rar】是一个压缩包,包含与Java开发相关的工具,特别是针对Maven项目的xjar-maven-plugin插件。这个插件是用于帮助Java开发者在构建过程中对jar包进行加密,以保护其中的代码和资源不被轻易访问...

    maven 3.5.2 maven 3.5.2 maven 3.5.2

    ** Maven 概述** Maven 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过使用一个统一的构建过程,简化了项目的构建、依赖管理以及文档生成等任务。Maven 3.5.2是Maven的一个稳定版本,包含了众多...

    maven仓库清理程序

    看到提供的文件名`maven_clean_cache-utf8.bat`和`maven_clean_cache-gbk.bat`,可以推测它们是Windows批处理脚本,用于自动化清理Maven仓库中的特定文件。这些脚本可能包含命令行指令,如`del`或`rm`(在不同的操作...

    Maven使用tomcat8-maven-plugin插件.docx

    Maven 使用 tomcat8-maven-plugin 插件 Maven 是一个流行的构建自动化工具,它可以帮助开发者自动完成项目的编译、测试、打包、部署等任务。 Tomcat 是一个流行的 Web 服务器,Maven 提供了一个插件 tomcat8-maven-...

    maven_archetype-catalog.zip

    首先,我们需要解压"maven_archetype-catalog.zip",然后在Eclipse的Maven设置中,找到"Archetypes"选项,点击"Add Archetype Catalog",选择本地的"archetype-catalog.xml"文件。完成这些步骤后,Eclipse就可以使用...

    maven使用文档,maven使用文档

    - 设置环境变量:在系统环境变量中设置 MAVEN_HOME 为 Maven 的安装目录,并将 `%MAVEN_HOME%/bin` 添加到 PATH 环境变量中。 2. **Maven 代理仓库 (Repository)** - Maven 通过代理仓库来加速下载依赖的速度。...

    maven安装包_3.6.3_下载.zip

    ** Maven 安装指南 ** Maven 是一个强大的项目管理和构建工具,在Java开发领域中广泛使用,它通过统一的构建过程简化了项目的构建、依赖管理以及文档生成。本指南将详细介绍如何下载并安装Maven 3.6.3版本。 ** ...

    maven 常见错误集合

    ** Maven常见错误集合详解 在使用Maven进行Java项目构建时,可能会遇到各种问题,这里主要探讨两个常见的错误情况:编码问题和远程仓库下载失败。 ### 1. Maven编码问题:“编码GBK的不可映射字符” 这个错误通常...

    idea使用maven创建web项目详细教程

    在 main 目录下创建一个 webapp 文件夹,然后选择 project Structure --&gt; facets--&gt; 点击 + 号添加 web 项目,选择当前工程 hello_maven。 5. pom.xml 文件配置 pom.xml 文件是 Maven 项目的核心配置文件,用于...

    Maven权威指南_maven_

    Maven不仅仅是一个编译工具,更是Java开发过程中的一个中心枢纽,它简化了项目的构建、依赖管理和文档生成等任务,使得团队协作更为高效。 1. **Maven基本概念** Maven基于项目对象模型(Project Object Model,...

    Maven exec-maven-plugin:执行外部命令的实践指南

    本文详细介绍了exec-maven-plugin的基本概念、配置方法、执行简单和系统脚本、捕获命令输出、条件执行、并发执行、使用环境变量、错误处理、高级配置、使用案例以及局限性。通过这些知识点,读者可以更加自信地在...

    eclipse使用maven整理文档.rar_captured7ne_eclipse mavenhelper_maven

    【描述】提及了“maven 使用说明”,这意味着文档将详细介绍如何配置和使用Maven,包括但不限于设置Maven环境、创建Maven项目、管理依赖、执行构建生命周期中的不同阶段(如编译、测试、打包、部署),以及使用Maven...

Global site tag (gtag.js) - Google Analytics