gpt4 book ai didi

java - 生成 *.WAR(64 位 x 32 位)

转载 作者:行者123 更新时间:2023-12-04 06:59:25 24 4
gpt4 key购买 nike

使用 64 位虚拟机而不是 32 位生成 *.war 文件有什么区别吗?

使用我最近购买的新笔记本电脑(Windows 7 和 AMD 64 位处理器)部署应用程序后,我遇到了一个问题。我没有接触任何应用程序源代码,但是当通过 Eclipse/Galileo 生成 *.war 然后将它部署到服务器时,每当我试图显示任何内容时,我都会在运行时遇到“Permgen Space”异常报告 - 内置于 Jasper Report - 在服务器端,本地所有这些文件以及通过我的旧计算机(32 位)1 生成的旧 *.war 文件都可以正常工作。

以下是有关盒子的一些详细信息:

本地:

  • Java 1.6.0_18(64 位)
  • Apache Tomcat/6.0.20

  • 服务器端:
  • Java 1.6.0_07(32 位)
  • Apache Tomcat/6.0.20

  • 在这里您可以看到记录的异常:
    javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space
    org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:295)
    org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
    br.com.innosoft.jzytho.framework.struts.action.AcessoAction.processActionPerform(AcessoAction.java:166)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

    如果您需要更多详细信息,请告诉我。

    提前致谢。

    最佳答案

    一般:没有。

    我使用完全相同的脚本为我们在开发到生产中的应用程序构建 war 。所有生产服务器现在都是 64 位,但过去是 32 位。有些开发箱是 64 位的,有些是 32 位的,但都使用相同的机制来打包 war 。

    Permgen 空间是与可用内存和类元数据相关的内存问题,受处理器/操作系统架构影响。

    这是对此的讨论:
    Explaining java.lang.OutOfMemoryError: PermGen space

    简短的回答是在 32 位平台上启动 jvm 时添加一个 jvm 启动参数 -XX:PermSize=64m 或 --XX:PermSize=128m。

    关于java - 生成 *.WAR(64 位 x 32 位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2109883/

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