首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OutOfMemoryError:启动嵌入式Tomcat时的PermGen空间

OutOfMemoryError:启动嵌入式Tomcat时的PermGen空间
EN

Stack Overflow用户
提问于 2014-04-03 14:48:08
回答 1查看 1.7K关注 0票数 2

我有一个库(猛禽-试验),它在我的maven项目中对我的webservices进行单元测试。在运行这些测试时,这个库将启动一个嵌入式Tomcat。

Tomcat tomcat = new Tomcat();

我已经检查了依赖树,下面的列表由测试库添加到我的项目中:

代码语言:javascript
复制
+- org.apache.tomcat:tomcat-catalina:jar:7.0.23:compile
[INFO] |  |  +- org.apache.tomcat:tomcat-servlet-api:jar:7.0.23:compile
[INFO] |  |  +- org.apache.tomcat:tomcat-juli:jar:7.0.23:compile
[INFO] |  |  +- org.apache.tomcat:tomcat-annotations-api:jar:7.0.23:compile
[INFO] |  |  +- org.apache.tomcat:tomcat-api:jar:7.0.23:compile
[INFO] |  |  \- org.apache.tomcat:tomcat-util:jar:7.0.23:compile
[INFO] |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:7.0.23:compile
[INFO] |  \- org.apache.tomcat:tomcat-jasper:jar:7.0.23:compile
[INFO] |     +- org.apache.tomcat:tomcat-jsp-api:jar:7.0.23:compile
[INFO] |     +- org.apache.tomcat:tomcat-el-api:jar:7.0.23:compile
[INFO] |     +- org.eclipse.jdt.core.compiler:ecj:jar:3.7:compile
[INFO] |     \- org.apache.tomcat:tomcat-jasper-el:jar:7.0.23:compile

当我运行测试类时,会弹出下面的错误,测试甚至没有完成:

代码语言:javascript
复制
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space

通常,我会更改tomcat文件夹下的setenv.bat以增加PermGem空间,但是,由于我运行的是嵌入式Tomcat,所以我找不到它的文件夹,只能找到它的jars。

我尝试将Eclipse中的JVM内存(Window -> Preferences -> Installed -> jdk ->编辑->默认Vm参数)增加到-Xmx1024M -Xms1024M -XX:PermSize=2048m -XX:MaxPermSize=2048m,但我仍然收到相同的错误。

我在哪里可以改变我的嵌入猫的perm宝石空间?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-03 14:53:26

在Servers选项卡下双击Tomcat服务,然后单击“”打开Tomcat启动配置窗口。然后,在它们的更改中,您的VM (不同于默认的VM )。

编辑:如果您从Junit Test运行一个JAR,您将需要更改Junit启动信任评估中的VM参数。您可以查看运行/调试启动信任,然后编辑参数选项卡。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22841218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档