我正在尝试在虚拟主机上构建一个大型 Maven-GWT 项目,该项目的 RAM 数量有限,无法使用交换空间。
GWT 编译阶段(计算排列)使用大量的 CPU 和内存,我想知道是否有任何方法可以对其使用的每个阶段施加限制,即使需要更长的时间编译。
如果您使用多个工作线程,请将其减少到仅一个工作线程 - 这将减少所需的内存。但是,编译速度会相应变慢。否则,您无法采取太多措施来降低内存需求。将 xmx 设置为较低的数字也可以,但如果太低则会导致 OOME。我认为 256m 是最小值,但 128m 适用于大多数中小型项目。
将
-Dgwt-plugin.localWorkers="1"
和 -Dgwt-plugin.extraJvmArgs="-Xmx128m -Xms16m"
添加到您的 MAVEN_OPTS
中,并调整这些数字直至其正常工作。