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

maven mvn运行出错

 
阅读更多
今天在buildGlassFish源码时出现错误,后来在mvn后加上 -X,打印出详细信息出如下:
[INFO] Scanning for projects...
[ERROR] Java heap space -> [Help 1]
java.lang.OutOfMemoryError: Java heap space
        at org.apache.maven.model.Dependency.clone(Dependency.java:204)
        at org.apache.maven.model.DependencyManagement.clone(DependencyManagemen
t.java:67)
        at org.apache.maven.model.ModelBase.clone(ModelBase.java:190)
        at org.apache.maven.model.Model.clone(Model.java:260)
        at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultMode
lBuilder.java:279)
        at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultMode
lBuilder.java:232)
        at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBu
ilder.java:410)
        at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBu
ilder.java:379)
        at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBu
ilder.java:495)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/OutOfMemoryErr
or

转到相应的wiki页查看,原因如下:

   1. You are building a very big multi-module project, each module requires a certain amount of memory so with increasing number of modules the amount of required memory increases as well until the JVM finally runs out of "Java heap space".
   2. You are using some plugins that perform memory-intensive operations like analyzing the class files of all project dependencies.
   3. You are using the Maven Compiler Plugin with the option fork=false (default) and your project has a lot of source files to compile. When using the Java compiler in embedded mode, each compiled class will consume heap memory and depending on the JDK being used this memory is not subject to gargabe collection, i.e. the memory allocated for the compiled classes will not be freed. The resultant error message typically says "PermGen space".

Fixing this error is usually just a matter of assigning more memory to the JVM. If you run from the command line, this can be done by means of the environment variable MAVEN_OPTS. This variable can be used to specify options for the JVM itself. In case of "Java heap space", the option of interest is -Xmx, in case of "PermGen space" it's usually -XX:MaxPermSize. For example, on Windows you would use

set MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=128m

设置后再次运行mvn ,可能正常执行了。

分享到:
评论

相关推荐

    Maven常用命令大全与pom文件讲解

    -D传入属性参数-P使用pom中指定的配置-e显示maven运行出错的信息-o离线执行命令,即不去远程仓库更新包-X显示maven允许的debug信息-U强制去远程参考更新snapshot包例如mvninstall-Dmaven.test.skip=true-Poracle其他...

    maven教程-maven教程-maven教程

    安装完成后,通过运行mvn -v命令来验证安装是否成功。 Maven的快速入门包括配置环境变量、了解Maven的仓库概念以及基本的构建命令。Maven的仓库分为本地仓库和远程仓库,本地仓库用于存储本地项目依赖的jar包,远程...

    apache-maven-3.3.9安装包

    Apache Maven 是一个强大的项目管理工具,主要用于...通过理解Maven的核心概念和操作,开发者可以更高效地管理Java项目,提高开发效率,减少出错可能性。Maven 3.3.9作为一个稳定版本,为开发者提供了可靠的构建环境。

    Java+IDEA+maven混淆打包

    - 混淆时要注意保护关键逻辑,确保保留必要的类和方法,防止运行时出错。 - 如果项目依赖了外部库,记得配置`maven-jar-plugin`的`addClasspath`和`classpathPrefix`,以便运行时能找到依赖。 - 由于混淆可能会...

    maven 3.3.9 解压版

    ** Maven 3.3.9 解析与使用详解 ** Maven 3.3.9 是 Apache Maven 的一个重要版本,它是一个广泛使用的项目管理和综合工具,尤其在Java...通过正确配置和熟练使用Maven,开发者可以提高工作效率,减少出错的可能性。

    Maven开发指南中文版

    Maven提供了一个统一的构建命令接口,例如`mvn compile`用于编译源代码,`mvn test`用于运行单元测试等。这些命令遵循一定的生命周期,使得开发者可以轻松地完成构建流程中的各个阶段。 **1.4 基于Maven插件的全局...

    apache-maven-3.3.3

    - `mvn test`:运行项目中的单元测试。 - `mvn package`:打包项目,如生成JAR或WAR文件。 - `mvn install`:将项目安装到本地仓库,供其他项目引用。 - `mvn deploy`:将最终的可部署工件发布到远程仓库。 6. ...

    maven 过滤文件夹打包

    "maven 过滤文件夹打包"这个主题涉及到的是如何利用Maven的资源过滤功能来实现针对不同运行环境的配置文件打包。下面将详细解释这一过程。 在开发环境中,我们通常会有多种配置文件,比如`application-dev....

    Maven学习笔记

    2. **运行单元测试**:使用`mvn test`命令可以运行项目中的单元测试。 3. **清理项目**:使用`mvn clean`命令可以清除项目构建过程中产生的临时文件。 4. **打包项目**:使用`mvn package`命令可以将项目打包成...

    Maven-教案-1.0.docx

    - `lib/`:Maven运行所需的依赖库 ##### 2. 环境变量配置 - **JDK**:确保安装JDK1.4以上版本,并将`JAVA_HOME/bin`添加到环境变量`path`中。 - **MAVEN_HOME**:配置Maven的主目录。 - **PATH**:将`%MAVEN_HOME%...

    maven开发文档

    ### Maven使用方法与项目管理详解 #### Maven简介 Maven是一款强大的项目管理和理解工具,它不仅...熟练掌握Maven不仅可以提高项目的构建效率,还能有效地管理项目的依赖关系,减少出错的可能性,提升团队协作效率。

    maven - maven tutorial

    Maven 的设计理念是“约定优于配置”,这使得开发人员能够快速上手并减少出错的可能性。 **1.2 Maven 的演进** Maven 自发布以来经历了多个版本的迭代,包括但不限于 Maven 1.x、Maven 2.x 和 Maven 3.x。每个版本...

    MavenRunHelper.zip

    3. **运行和调试Maven目标**: 用户可以直接在IDE内通过插件运行任何Maven目标,无需离开IDEA界面,这大大提高了工作效率。无论是编译、测试、打包还是部署,都可以一键完成。 4. **显示有效和无效的POM属性**: 该...

    maven资源安装包

    在实际使用中,Maven有多种命令行工具,如`mvn clean`用于清理目标目录,`mvn install`将构建好的项目安装到本地仓库,`mvn deploy`将项目发布到远程仓库。此外,Maven还支持插件系统,开发者可以根据需求自定义构建...

    Maven使用介绍(PPT)

    bin目录包含了mvn运行的脚本文件,其中mvn与mvnDebug的区别在于后者提供了debug模式,有助于调试Maven本身的问题。boot目录下有一个plexus-classworlds-2.5.1.jar文件,这是一个类加载器框架,Maven使用它来加载自身...

    maven 占位符打包

    描述中的“工程运行环境有研发,测试和生产,不同的运行环境配置不同”意味着每个环境可能需要不同的配置参数,例如数据库连接字符串、服务器地址、日志级别等。传统的做法是为每个环境创建一个单独的POM.xml或者...

    apache-maven-3.5.0.zip

    安装时,通常需要将bin目录添加到系统PATH环境变量中,以便于在任何地方运行Maven命令。 Maven的插件系统也是其灵活性的关键部分。通过插件,开发者可以执行各种任务,如生成文档、执行单元测试、打包应用、部署到...

Global site tag (gtag.js) - Google Analytics