MAVEN_OPTS环境变量有什么作用?[已关闭]

2022-09-02 12:42:51

例如:-

MAVEN_OPTS=" -Xms512m -Xmx1024m -XX:MaxPermSize=1024m"
export MAVEN_OPTS

这是什么意思?"-Xms512m -Xmx1024m -XX:MaxPermSize=1024m"


答案 1

在阅读了上述评论之后,我澄清了我对MAVEN_OPTS和maven语义的怀疑。MAVEN_OPTS环境变量包含用于启动运行 Maven 的 JVM 的参数,并可用于提供其他选项。这包括 JVM 内存池参数。请参考链接并浏览文档。

    -Xmsn
            Specifies the initial size, in bytes, of the memory allocation pool. This value 
must be a multiple of 1024 greater than 1 MB. Append the letter k or K to indicate kilobytes,
 or m or M to indicate megabytes. The default value is chosen at runtime based on system configuration. See Garbage Collector Ergonomics at
            [http://docs.oracle.com/javase/7/docs/technotes/guides/vm/gc-ergonomics.html][2]
            
            Examples:
            
            -Xms6291456
            -Xms6144k
            -Xms6m
    
      -Xmxn
            Specifies the maximum size, in bytes, of the memory allocation pool. This value 
must a multiple of 1024 greater than 2 MB. Append the letter k or K to indicate kilobytes, or m
 or M to indicate megabytes. The default value is chosen at runtime based on system 
configuration.
            
            For server deployments, -Xms and -Xmx are often set to the same value. See Garbage
 Collector Ergonomics at
            [http://docs.oracle.com/javase/7/docs/technotes/guides/vm/gc-ergonomics.html][3]
            
            Examples:
            
            -Xmx83886080
            -Xmx81920k
            -Xmx80m

答案 2

文档很棒,但它并不总是完整的。您还可以做一些额外的事情来自己解决问题。在这种情况下,您知道MAVEN_OPTS是一个环境变量,这可能意味着它在shell脚本中使用。因此,打开例如mvn.bat并搜索MAVEN_OPTS以查看其使用方式。

您会发现它只是一种指定Java命令行参数的方法,这些参数将对Maven本身的执行生效。作为过去的示例,我需要增加默认的 permgen 大小,以防止在执行复杂构建期间出现问题。


推荐