我有一個庫(vraptor-test),它在我的maven項目的webservices中執行單元測試。在onder上運行這些測試,這個庫啓動一個嵌入式的Tomcat。OutOfMemoryError:啓動嵌入式Tomcat時的PermGen空間
Tomcat tomcat = new Tomcat();
我檢查了依賴關係樹,和下方的測試庫添加到我的項目representss tomcat的相關罐子名單:
+- 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
當我運行我的測試類下面彈出錯誤並在測試不完整甚至:
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
通常情況下,我會更改setenv.bat
tomcat下折呃增加PermGem空間,但是,因爲我運行的是嵌入式Tomcat,所以我找不到它的文件夾,只能找到它的罐子。我試過在Eclipse中增加JVM內存(窗口 - >首選項 - > Java - >安裝JREs - > jdk - >編輯 - >默認Vm參數)到-Xmx1024M -Xms1024M -XX:PermSize=2048m -XX:MaxPermSize=2048m
,但我仍然收到相同的錯誤。
我在哪裏可以更改嵌入式tomcat的permgem空間?
你如何運行這些測試?從Eclipse? – Thomas
是托馬斯,使用Junit插件。 –