编译sling时发生java.lang.OutOfMemoryError

编译sling时发生java.lang.OutOfMemoryError,java,maven,compilation,sling,Java,Maven,Compilation,Sling,我正试图用Maven编译Apache Sling,但仍然出现以下错误: Exception in thread "main" Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i n thread "main" 我发现可以通过设置MAVEN_OPTS env来解决这个问题。这是一个变量 set MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=512m" 但现在

我正试图用Maven编译Apache Sling,但仍然出现以下错误:

Exception in thread "main"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i
n thread "main"
我发现可以通过设置MAVEN_OPTS env来解决这个问题。这是一个变量

set MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=512m"
但现在我得到了这个错误

Invalid maximum heap size: -Xmx512m -XX:MaxPermSize=512m
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
我试着把它改成这个

set MAVEN_OPTS="-Xmx512m -XX:MaxPermSize512m"
但错误是一样的


感谢您的帮助

我在Windows的命令提示符上也遇到了同样的问题,但是当我使用cygwin时,所有的东西都被成功编译了。在许多示例中都使用linux命令,我建议您使用cygwin

应使用以下命令:

export MAVEN_OPTS="-Xmx256m -XX:MaxPermSize=128m"
mvn clean install -DskipTests

Windows的命令提示符也有同样的问题,但当我使用cygwin时,一切都成功编译。在许多示例中都使用linux命令,我建议您使用cygwin

应使用以下命令:

export MAVEN_OPTS="-Xmx256m -XX:MaxPermSize=128m"
mvn clean install -DskipTests

我认为内存的初始值,即兆字节的e-m和千兆字节的g必须是大写,所以请尝试“set MAVEN_OPTS=“-Xmx512M-XX:MaxPermSize=512M”@Dynomyte仍然是相同的错误我在windows中设置了环境变量MAVEN_OPTS的值“-Xmx512M-XX:MaxPermSize=512M”。在这个mvn clean install命令正常工作后,我认为内存初始值,即兆字节的e-m和千兆字节的g必须是大写,所以请尝试“set MAVEN_OPTS=“-xmx51m-XX:MaxPermSize=512M”@dynomete仍然是相同的错误我在windows中设置了环境变量MAVEN_OPTS,值为“-xmx512-XX:MaxPermSize=512M”。在此之后,mvn clean install命令将正常工作,谢谢。我已经设置了MAVEN_OPTS,并用-DskipTests参数对其进行了打包,它可以正常工作!以下命令对我有效:
code
export-MAVEN_OPTS=“-Xmx1024m-XX:MaxPermSize=512m”mvn clean install-prerelease-DskipTests
code
如果您的pom.xml中包含大量JAR,并且您正在运行数千个单元测试,则上述命令对您有效!非常感谢。我已经设置了MAVEN_OPTS,并用-DskipTests参数对其进行了打包,它可以正常工作!以下命令对我有效:
code
export-MAVEN_OPTS=“-Xmx1024m-XX:MaxPermSize=512m”mvn clean install-prerelease-DskipTests
code
如果您的pom.xml中包含大量JAR,并且您正在运行数千个单元测试,则上述命令对您有效!