代码之家  ›  专栏  ›  技术社区  ›  Sean

如何增加Ant“javadoc”任务的内存?

  •  4
  • Sean  · 技术社区  · 15 年前

    当创建一个Ant构建脚本来生成JavaDoc时,Eclipse接收到OutofMemoryError。 蚂蚁建造有 -Xmx512m and -Xms512m 运行配置中jre选项卡下的设置。 这对于编译应用程序非常有用。 唯一的问题是构建的javadoc部分。这是build.xml文件

    <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
    

    VisualVM显示此进程使用上面列出的堆内存参数启动。 然后这个过程产生第二个过程 "JavaDoc" VM参数不会随它一起传递。 在VisualVM中,可以确认JavaDoc进程在抛出OOM错误之前有一个默认的-xms8m值和一个大约64m的xmx值。

    在Eclipse中的ant preferences下,我尝试添加一个“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将产生更多堆大小吗?

    2 回复  |  直到 15 年前
        1
  •  6
  •   martin clayton egrunin    15 年前

    javadoc task maxmemory

    推荐文章