gpt4 book ai didi

java - 带 jetty 的 PermGen 空间

转载 作者:搜寻专家 更新时间:2023-11-01 01:34:47 25 4
gpt4 key购买 nike

我正在开发一个 Java Web 应用程序,我在其中使用类似 maven 的项目管理工具。现在我的问题是,如果我以这种方式每 20 秒将 jetty 设置为自动扫描一次:

<!-- To launch embded jetty server -->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${maven-jetty-plugin.version}</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webAppConfig>
<contextPath>/${project.name}</contextPath>
<extraClasspath>target/classes;../services/target/classes;</extraClasspath>
</webAppConfig>
<scanTargets>
<scanTarget>target/classes</scanTarget>
<scanTarget>../services/target/classes</scanTarget>
</scanTargets>
</configuration>
</plugin>

事实上,Jetty 以正确的方式启动:

[INFO] Started Jetty Server

[INFO] Starting scanner at interval of 20 seconds.

但在第一次扫描时我收到以下错误:

ERROR ContextLoader - Context initialization failed

java.lang.OutOfMemoryError: PermGen space

我该如何解决?

更新 1

我尝试以这种方式从我的 Eclipse Ide 中增加 PermGen 空间:

enter image description here

但在第一次扫描后我得到了同样的错误。

我该如何解决?

最佳答案

把它放在 <configuration> 下元素:<jvmArgs>-XX:PermSize=256M -XX:MaxPermSize=512M</jvmArgs>

因此 Maven 插件将如下所示:

<!-- To launch embded jetty server -->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${maven-jetty-plugin.version}</version>
<configuration>
<jvmArgs>-XX:PermSize=256M -XX:MaxPermSize=512M</jvmArgs>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webAppConfig>
<contextPath>/${project.name}</contextPath>
<extraClasspath>target/classes;../services/target/classes;</extraClasspath>
</webAppConfig>
<scanTargets>
<scanTarget>target/classes</scanTarget>
<scanTarget>../services/target/classes</scanTarget>
</scanTargets>
</configuration>
</plugin>

注意:如果失败并显示无法分配这么多内存的消息,请使用较小的数字。

关于java - 带 jetty 的 PermGen 空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21579845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com