[英]Constant java.lang.OutOfMemoryError: PermGen space Arquillian + Wildfly 8.1
嗨,開始了一個新項目。 我想做的第一件事就是讓Arquillian設置並滾動。 我寫了幾個控制器和JSF表單。
加載依賴項的過程
final File[] files = Maven.resolver().loadPomFromFile("pom.xml").importRuntimeAndTestDependencies().resolve()
.withTransitivity().asFile();
LOG.info(files.toString());
final WebArchive archive = ShrinkWrap.create(WebArchive.class, "main-webapp-arq.war"); etc...
跑
mvn -PprofileName package
一切似乎都在游泳,我看到它開始發射野生動物,然后我看到它部署應用程序,啟動豆火然后我得到:
....
[0m[0m20:37:30,025 INFO [org.apache.shiro.web.env.EnvironmentLoader] (MSC service thread 1-6) Shiro environment initialized in 123 ms.
[0mINFO [javax.enterprise.resource.webcontainer.jsf.config] Initializing Mojarra 2.2.6-jbossorg-4 20140501-1134 for context '/hc'
WARN [org.jboss.modules] Failed to define class javax.faces.FactoryFinder in Module "javax.faces.api:main" from local module loader @732e8099 (finder: local module finder @71fcf7e2 (roots: /Users/jgreenaw/dev/apps/wildfly/wildfly-8.1.0.Final-ARQ/modules,/Users/jgreenaw/dev/apps/wildfly/wildfly-8.1.0.Final-ARQ/modules/system/layers/base)): java.lang.OutOfMemoryError: PermGen space
WARN [org.jboss.modules] Failed to define class com.sun.faces.application.ApplicationAssociate in Module "com.sun.jsf-impl:main" from local module loader @732e8099 (finder: local module finder @71fcf7e2 (roots: /Users/jgreenaw/dev/apps/wildfly/wildfly-8.1.0.Final-ARQ/modules,/Users/jgreenaw/dev/apps/wildfly/wildfly-8.1.0.Final-ARQ/modules/system/layers/base)): java.lang.OutOfMemoryError: PermGen space...
其次是因為同樣的原因導致其他服務失敗。
我已經完成了明顯的事情,就像在maven和wildfly中將permgen提升到512mb然后到1024mb。 看來事情根本就是錯誤的。 我無需調整任何內容即可運行整個應用程序。
Arquillian.xml
<?xml version="1.0" encoding="UTF-8"?>
<arquillian xmlns="http://jboss.org/schema/arquillian"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
<container qualifier="wildfly" default="true">
<configuration>
<!-- Supported property names: [managementPort, username, managementAddress,
bundlePath, managementProtocol, cleanServerBaseDir, jbossHome, password,
modulePath] -->
<property name="jbossHome">/dev/apps/wildfly/wildfly-8.1.0.Final-ARQ/</property>
<property name="modulePath">/dev/apps/wildfly/wildfly-8.1.0.Final-ARQ/modules</property>
<property name="javaVmArguments">-Xms64m -Xmx1024m -XX:MaxPermSize=1024m -Dorg.jboss.resolver.warning=true</property>
</configuration>
</container>
</arquillian>
相關(我認為)pom依賴:
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>1.1.5.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.shrinkwrap.resolver</groupId>
<artifactId>shrinkwrap-resolver-impl-maven</artifactId>
<scope>test</scope>
</dependency>
<profiles>
<profile>
<!-- Remote local Profile - Arquillian will deploy the test artifact to
a local server, test the artifact and undeploy -->
<id>arq-wildfly-local</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<skipTests>false</skipTests>
</properties>
<dependencies>
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-arquillian-container-embedded</artifactId>
<version>8.1.0.Final</version>
<scope>test</scope>
</dependency>
</dependencies>
過去的經驗表明我缺少一些基本的東西,並且permgen耗盡是一個與我做錯的其他事情的合作。 我已經嘗試了各種.import ......在Maven解析器中無濟於事。 同樣的問題命令行和在eclipse中。
java版“1.7.0_60”Apache Maven 3.2.1 wildfly 8.1 OS X最新版本
問題:知道下一步該怎么辦? 提前致謝。
如果您使用的是linux,則可以使用.bashrc profile放置此命令。
導出MAVEN_OPTS =“ - Xmx1024m -XX:MaxPermSize = 256m”然后重置終端。
或者您可以在環境變量中設置它。
或者,您可以使用此命令在Maven命令行參數中設置這些值
-DXmx512m -DXX:MaxPermSize = 512m
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.