通过调用weblogic.Deployer
的任务从我的ant构建部署应用程序WAR文件时出现此错误。这是在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页面。
尝试解决方案:
-Xms256m -Xmx512m -XX:PermSize=48m -XX:MaxPermSize=256m
:无效,仍然失败我希望有人之前已经看过这个或想过别的东西可以试试,我已经看了好几个小时了!
deploy-war: [echo] Deploying application... [echo] Deploying application [java] weblogic.Deployer invoked with options: -adminurl t3://corpitdev50ddh11:7001 \ -username weblogic -name 401k_clt-antdeploy -stage \ -upload /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> \ <Initiating deploy operation for application, 401k_clt-antdeploy \ [archive: /opt/appl/hrsapps/401k/client/dist/app/401k_clt.war], to AdminServer .> [java] Java heap space BUILD FAILED /opt/appl/hrsapps/401k/build-macros.xml:601: The following error occurred while executing this line: /opt/appl/hrsapps/401k/build-macros.xml:557: Java returned: 1
答案 0 :(得分:6)
看起来运行weblogic.deployer的JVM内存不足(而不是服务器本身),而且我不确定你改变了哪些堆params。
尝试修改ant脚本,以便为启动WebLogic部署程序的任务分配更多堆空间:
<java ... fork="true" maxmemory="512m" (or more if required)>
...
</java>
答案 1 :(得分:3)
您是否可以确认您尝试更改 Ant级别的内存设置(例如,通过设置ANT_OPTS
环境变量,类似于ANT_OPTS=-Xmx1024m
)。
对我来说,即使脚本与另一个weblogic实例一起工作(它实际上是同一个实例btw?同一个版本?等),它是你的Ant进程耗尽内存,而不是WebLogic(这解释了为什么重启WebLogic不会改变任何内容以及为什么通过管理控制台进行部署工作)。
答案 2 :(得分:1)
我们遇到了类似的问题 - 在我们的例子中,我们已经将SDK从1.5更改为Java 1.6而WLDeploy任务中的某些内容导致了无限循环,这意味着无论我们多么高,我们总是会收到Java堆空间问题。