當創建Ant構建腳本來生成Javadoc時,Eclipse正在接收OutOfMemoryError。 在運行配置的JRE選項卡下,ant build具有-Xmx512m and -Xms512m
設置。 這適用於編譯應用程序。 唯一的問題是構建的Javadoc部分。這裏是build.xml文件如何增加Ant'Javadoc'任務的內存?
<target name="JavaDoc" description="Create Javadocs">
<javadoc destdir="c:/javadoc" windowtitle="My API">
<classpath refid="application.classpath" />
<packageset dir="Source">
<include name="**" />
</packageset>
</javadoc>
</target>
當構建腳本運行我看到了兩個步驟, 的Eclipse啓動
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner
視覺VM表明,該過程與上面列出的堆內存參數啓動。 此過程生成第二個進程"JavaDoc"
,並且VM參數不會與它一起傳遞。 在VisualVM中,可以確認在拋出OOM錯誤之前,JavaDoc進程具有默認的-Xms8m值和大約64m的Xmx值。
在Eclipse的Ant偏好下,我試圖添加一個'ANT_OPTS'變量來將JVM參數傳遞給JavaDoc。 更改無效。
如果我創建一個批處理文件並設置ANT_OPTS值,那麼編譯就會起作用。
set ANT_OPTS=-Xms512m -Xmx512m
ant -file C:\myApp\build.xml JavaDoc
但是,創建批處理文件正在破壞允許我直接在Eclipse中構建一切的目的。
我也試圖加入到構建文件,這將硬編碼堆大小
<arg value="ANT_OPTS=-Xms512m -Xmx512m" />
不知道如何設置的值,所以我的javadoc將與更多的堆大小產卵?
謝謝,沒有工作,我現在看到我的XMX在適當的值。在閱讀API時錯過了該參數。很快就會接受答案 – Sean 2010-10-04 14:49:57