5

通过调用weblogic.Deployer. 这是在 Windows XP 上,服务器未处于生产模式,服务器上只安装了 2 个其他 WAR,一个只是静态内容(web.xml + png/css/javascript 文件),PC 上没有安装其他 weblogic 服务器. 服务器 CPU 永远不会超过 25%。JRockit JVM 1.6.0_05-b13。JSP 文件使用 weblogic.appc 进行预编译,因此作为 servlet(.class 文件)存储在 war 中。此外,WAR 文件大约 20M,包括 jar 库、大约 500 个类和大约 200 个编译的 JSP 页面。

尝试的解决方案:

  • 多次重启weblogic服务器:没有效果,还是失败
  • 服务器 PC 有 2GB 内存,因此将 Weblogic 服务器的内存参数增加到-Xms256m -Xmx512m -XX:PermSize=48m -XX:MaxPermSize=256m:无效果,仍然失败
  • 通过 Weblogic 控制台部署:WAR 部署良好,所以不是战争设置中的错误
  • 使用ant脚本部署到另一台服务器:成功到另一台服务器,所以不是脚本的bug

我希望有人以前看过这个或者有其他尝试的想法,我已经看了好几个小时了!

部署战争:
     [echo] 正在部署应用程序...
     [echo] 部署应用程序
     [java] weblogic.Deployer 使用选项调用:-adminurl t3://corpitdev50ddh11:7001 \
               -用户名 weblogic -name 401k_clt-antdeploy -stage \
               -上传/opt/appl/hrsapps/401k/client/dist/app/401k_clt.war \
               -targets AdminServer -verbose -deploy
     [java] <Jan 13, 2010 10:41:22 AM EST> <Info> <J2EE Deployment SPI> <BEA-260121> \
               <启动应用程序部署操作,401k_clt-antdeploy \
               [存档:/opt/appl/hrsapps/401k/client/dist/app/401k_clt.war],到 AdminServer。>
     [java] Java 堆空间

构建失败
/opt/appl/hrsapps/401k/build-macros.xml:601:执行此行时出现以下错误:
/opt/appl/hrsapps/401k/build-macros.xml:557:Java 返回:1

4

3 回答 3

6

看起来好像运行 weblogic.deployer 的 JVM 内存不足(而不是服务器本身),我不确定您更改了哪些堆参数。

尝试修改 ant 脚本,以便为启动 WebLogic 部署程序的任务分配更多堆空间:

<java ... fork="true" maxmemory="512m" (or more if required)>
    ...
</java>
于 2010-01-13T16:17:24.717 回答
3

您能否确认您尝试在Ant 级别更改内存设置(例如通过设置ANT_OPTS环境变量,类似的东西ANT_OPTS=-Xmx1024m)。

对我来说,即使脚本与另一个 weblogic 实例一起工作(它真的是同一个实例吗?同一个版本?等等),它是你的 Ant 进程内存不足,而不是 WebLogic(这解释了为什么重新启动 WebLogic 不更改任何内容以及通过管理控制台进行部署的原因)。

于 2010-01-13T16:17:37.913 回答
1

我们遇到了类似的问题 - 在我们的案例中,我们将 SDK 从 1.5 更改为 Java 1.6,并且 WLDeploy 任务中的某些内容导致了无限循环,这意味着无论我们增加多少内存,我们总是会收到 Java 堆空间问题。

于 2011-01-18T09:25:15.957 回答