Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OutOfMemoryError:运行大型SQL文件时,liquibase中的Java堆空间_Java_Ant_Liquibase - Fatal编程技术网

OutOfMemoryError:运行大型SQL文件时,liquibase中的Java堆空间

OutOfMemoryError:运行大型SQL文件时,liquibase中的Java堆空间,java,ant,liquibase,Java,Ant,Liquibase,我正在使用Ant任务更新数据库。 蚂蚁的任务是 <target name="updatedb"> <updateDatabase changeLogFile="${prj.db.changelog.file}" driver="${prj.db.driver}" url="${prj.db.url}" usern

我正在使用Ant任务更新数据库。 蚂蚁的任务是

<target name="updatedb">
    <updateDatabase
                    changeLogFile="${prj.db.changelog.file}"
                    driver="${prj.db.driver}"
                    url="${prj.db.url}"
                    username="${prj.db.username}"
                    password="${prj.db.password}"
                    classpathref="db.liquibase.classpath">
</updateDatabase>
</target>

我有一个变更集,它以

<changeSet author="test" id="20150603">
  <sqlFile path="data.sql"
             stripComments="true" relativeToChangelogFile="true"/>
</changeSet>

当我运行ant任务时,我收到java.lang.OutOfMemoryError:java堆空间 这是因为sql文件的大小很大。 我想通过ant任务给堆空间。需要进行哪些更改?请建议。 我不想使用
set JAVA_OPTS=“-Xms512m-Xmx1024m”
,因为这将为我拥有的ant任务设置堆空间。
liquibase是否有任何参数或属性可用于增加堆空间。

将变更集拆分为多个具有更多sql文件的变更集。当然,你可以打破sql脚本。当然,我将使用它作为最后的手段。有没有办法通过Ant实现这一点?您是否希望为单个Ant任务设置java选项,但对所有其他任务使用默认java选项?这在一开始是不可能的,如果任务按顺序运行,我不明白你为什么需要这个。请澄清情况。@AdamSkywalker:我不能在我将使用liquibase的服务器上运行java_opts。对于其他ant任务,为了增加堆空间,我使用类似于
code
的方法。但是我可以用类似的方法来液化吗。在这种情况下,类名称应该是什么?将变更集拆分为多个具有更多sql文件的变更集。当然,你可以打破sql脚本。当然,我将使用它作为最后的手段。有没有办法通过Ant实现这一点?您是否希望为单个Ant任务设置java选项,但对所有其他任务使用默认java选项?这在一开始是不可能的,如果任务按顺序运行,我不明白你为什么需要这个。请澄清情况。@AdamSkywalker:我不能在我将使用liquibase的服务器上运行java_opts。对于其他ant任务,为了增加堆空间,我使用类似于
code
的方法。但是我可以用类似的方法来液化吗。在这种情况下,类名称应该是什么?将变更集拆分为多个具有更多sql文件的变更集。当然,你可以打破sql脚本。当然,我将使用它作为最后的手段。有没有办法通过Ant实现这一点?您是否希望为单个Ant任务设置java选项,但对所有其他任务使用默认java选项?这在一开始是不可能的,如果任务按顺序运行,我不明白你为什么需要这个。请澄清情况。@AdamSkywalker:我不能在我将使用liquibase的服务器上运行java_opts。对于其他ant任务,为了增加堆空间,我使用类似于
code
的方法。但是我可以用类似的方法来液化吗。在这种情况下,类名应该是什么?