今天终于找到了一个困扰我多时的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_OPTS,例如在Windows中编辑 `%M2_HOME%\bin\mvn.bat` 文件,增加 `-Xms` 和 `-Xmx` 参数,比如 `set MAVEN_OPTS= -Xms128m -Xmx512m`。在Linux环境中,可以在 `/etc/profile` 文件中...
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的安装与配置 1.... 从网络将maven下载. 直接解压就可以. 2.... set MAVEN_OPTS= -Xms128m -Xmx512m
对于`M2_HOME`或`MAVEN_HOME`,则应指向Maven 3.6.0的解压目录。最后,将Maven的bin目录添加到系统的PATH变量中,这样就可以在任何地方通过命令行运行`mvn`命令。 配置Maven的`settings.xml`文件是定制化Maven行为...
可以通过增加 MAVEN_OPTS 环境变量来提升Maven的内存分配,如 `export MAVEN_OPTS="-Xms256m -Xmx1024m"`。 9. **使用构建工具集成优化**: 如果你使用的是IDE,如IntelliJ IDEA或Eclipse,它们通常有内置的Maven...
- 当出现依赖冲突时,可以通过 `<dependencyManagement>` 标签进行统一管理,或者使用 `<exclusions>` 标签排除不需要的子依赖。 8. Maven的命令行工具: - `mvn clean` 清理项目。 - `mvn compile` 编译源代码...
【xjar_maven_plugin.rar】是一个压缩包,包含与Java开发相关的工具,特别是针对Maven项目的xjar-maven-plugin插件。这个插件是用于帮助Java开发者在构建过程中对jar包进行加密,以保护其中的代码和资源不被轻易访问...
** Maven 概述** Maven 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过使用一个统一的构建过程,简化了项目的构建、依赖管理以及文档生成等任务。Maven 3.5.2是Maven的一个稳定版本,包含了众多...
看到提供的文件名`maven_clean_cache-utf8.bat`和`maven_clean_cache-gbk.bat`,可以推测它们是Windows批处理脚本,用于自动化清理Maven仓库中的特定文件。这些脚本可能包含命令行指令,如`del`或`rm`(在不同的操作...
Maven 使用 tomcat8-maven-plugin 插件 Maven 是一个流行的构建自动化工具,它可以帮助开发者自动完成项目的编译、测试、打包、部署等任务。 Tomcat 是一个流行的 Web 服务器,Maven 提供了一个插件 tomcat8-maven-...
首先,我们需要解压"maven_archetype-catalog.zip",然后在Eclipse的Maven设置中,找到"Archetypes"选项,点击"Add Archetype Catalog",选择本地的"archetype-catalog.xml"文件。完成这些步骤后,Eclipse就可以使用...
- 设置环境变量:在系统环境变量中设置 MAVEN_HOME 为 Maven 的安装目录,并将 `%MAVEN_HOME%/bin` 添加到 PATH 环境变量中。 2. **Maven 代理仓库 (Repository)** - Maven 通过代理仓库来加速下载依赖的速度。...
** Maven 安装指南 ** Maven 是一个强大的项目管理和构建工具,在Java开发领域中广泛使用,它通过统一的构建过程简化了项目的构建、依赖管理以及文档生成。本指南将详细介绍如何下载并安装Maven 3.6.3版本。 ** ...
** Maven常见错误集合详解 在使用Maven进行Java项目构建时,可能会遇到各种问题,这里主要探讨两个常见的错误情况:编码问题和远程仓库下载失败。 ### 1. Maven编码问题:“编码GBK的不可映射字符” 这个错误通常...
在 main 目录下创建一个 webapp 文件夹,然后选择 project Structure --> facets--> 点击 + 号添加 web 项目,选择当前工程 hello_maven。 5. pom.xml 文件配置 pom.xml 文件是 Maven 项目的核心配置文件,用于...
Maven不仅仅是一个编译工具,更是Java开发过程中的一个中心枢纽,它简化了项目的构建、依赖管理和文档生成等任务,使得团队协作更为高效。 1. **Maven基本概念** Maven基于项目对象模型(Project Object Model,...
【描述】提及了“maven 使用说明”,这意味着文档将详细介绍如何配置和使用Maven,包括但不限于设置Maven环境、创建Maven项目、管理依赖、执行构建生命周期中的不同阶段(如编译、测试、打包、部署),以及使用Maven...
配置Maven环境需要下载Maven安装包并设置环境变量,如`MAVEN_HOME`和`Path`。在Eclipse中,可以通过用户设置添加Maven支持,使Eclipse能够识别并管理Maven项目。 **二、Maven创建SSM项目** 在Eclipse中创建Maven...