2010-01-13 83 views
4

我在通過調用weblogic.Deployer的任務從我的ant build部署應用程序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頁面。在Weblogic 10.3上使用ant部署WAR時出現「Java堆空間」錯誤

解決方案嘗試:

  • 在WebLogic服務器多次重啓:沒有影響,仍然未能
  • 服務器PC擁有2GB RAM,所以增加了對WebLogic Server中的內存參數,以-Xms256m -Xmx512m -XX:PermSize=48m -XX:MaxPermSize=256m:沒有影響,仍失敗
  • 部署通過WebLogic控制檯:WAR部署精細,所以不是一個錯誤的戰爭
  • 使用Ant腳本部署到另一臺服務器的設置:成功到另一臺服務器,所以它不是在腳本中的錯誤

我希望有人以前見過這個或有別的想法嘗試,我一直在看這個好幾個小時!

 
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 

回答

5

看起來好像運行在JVM中的weblogic.Deployer正在運行的內存(而不是服務器本身),我不知道這堆PARAMS你變了。

嘗試修改ant腳本,以便開始在WebLogic部署任務被分配更多的堆空間:

<java ... fork="true" maxmemory="512m" (or more if required)> 
    ... 
</java> 
+0

內存opts是服務器,而不是螞蟻,現在重新嘗試它,謝謝你的想法! – 2010-01-13 16:28:53

+0

這樣做,maxmemory =「256m」做到了。爲什麼Java仍然堅持64m作爲默認超越我....再次感謝! – 2010-01-13 16:56:18

3

你能確認你試過在螞蟻水平改變內存設置(例如通過設置ANT_OPTS環境變量,如ANT_OPTS=-Xmx1024m)。

對我來說,即使腳本與另一個weblogic實例一起工作(它是否真的是同一個實例btw?相同版本?等),這是您的Ant進程內存不足,而不是WebLogic(這解釋了爲什麼重新啓動WebLogic不會更改任何內容以及爲什麼通過管理控制檯進行部署)。

+0

內存選擇適用於服務器,不適用於螞蟻,現在重新嘗試。 不同的服務器是相同的WL10.3版本(相同安裝EXE)和WinXP,但有可能成千上萬個WL配置選項中的一些不同。感謝您的想法! – 2010-01-13 16:26:34

1

我們遇到了類似的問題 - 在我們的例子中,我們已經將SDK從1.5更改爲Java 1.6,而WLDeploy任務中的某些內容導致了無限循環,這意味着無論我們佔用多少內存,我們總會收到Java堆空間問題。

相關問題