java - 在两个 Web 应用程序之间共享实例时 Maven Jetty 插件 OutOfMemoryError

标签 java maven jetty

我正在使用 maven jetty 插件来运行我的两个 Web 应用程序。一个 Web 应用程序是 spring mvc UI,另一个是 RESTful Web 应用程序。当我运行两个单独的 mvn jetty:run 实例并分配不同的端口时,我能够让两个 Web 应用程序进行通信。我已经使用下面的 maven pom.xml 配置使用相同的端口在同一个 jetty 实例中成功部署了这两个实例。我最终得到一个 ava.lang.OutOfMemoryError: PermGen space 错误。最好的解决方法是什么?

<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>7.6.8.v20121106</version>
    <configuration>
        <jvmArgs>-Xmx2024m -Xms2024m</jvmArgs>
        <scanIntervalSeconds>10</scanIntervalSeconds>
        <webApp>
            <contextPath>/</contextPath>
        </webApp>
        <contextHandlers>           
            <contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
                <war>../../api/target/main-api.war</war>
                <contextPath>/test</contextPath>
            </contextHandler>
        </contextHandlers> 
    </configuration>
</plugin>

最佳答案

添加以下 jvm 参数,如果出现有关无法分配内存的错误,请尝试使用较小的值(128 和 256)

-XX:PermSize=256M -XX:MaxPermSize=512M

引用

关于java - 在两个 Web 应用程序之间共享实例时 Maven Jetty 插件 OutOfMemoryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18669345/

相关文章:

java - jackson 注释被忽略

java - 如何确定 api 实现的规范版本

java - 以编程方式将数据批量加载到 HBase 的最快方法是什么?

java - 未使用 Hibernate 标准投影别名

java - JAVA_HOME 目录无效

java - Hibernate 统计信息、方法名称

java - 在 QA 服务器上部署时出现 NoClassDefFoundError

maven - Ant 中的 WSDL2Java

java - 如何将一个 Spring Boot 应用程序作为依赖项包含在另一个应用程序中

java - 如何在后台运行 Solr Jetty