编译GWT时,Maven构建过程被杀死

时间:2013-10-08 17:48:35

标签: maven gwt maven-3 sh ubuntu-10.04

我的Maven构建过程在尝试编译GWT时在操作系统级别被杀死,因此构建未完成且不报告成功或失败。我使用-X选项运行mvn3,这是它发生的地方:

[DEBUG] Execute command :
/bin/sh -c /usr/lib/jvm/java-6-sun-1.6.0.26/jre/bin/java -Xmx512m -classpath <really_long_classpath> com.google.gwt.dev.Compiler -gen <path_loc> -logLevel INFO -style OBF -war <war_path> -localWorkers 1 <module_path>
./build.sh: line 2: 24139 Killed                  mvn3 -X clean install blah blah

当我从Maven中取出命令并单独运行时,我也遇到了同样的失败。但是,当我在没有/bin/sh -c的情况下运行Java时,GWT编译得很好。

为什么Maven使用/bin/shUbuntu 10.04上的默认shell为bash

1 个答案:

答案 0 :(得分:2)

如果没有'sh -c',命令没有理由工作,但谁知道呢。

mvn命令只是一个shell脚本,它设置适当的java环境以使用maven类运行java。它使用/bin/sh,因为它是在脚本的第一行中设置的。如果您想使用bash,只需按!/bin/sh更改脚本!/bin/bash的第一行。

无论如何,似乎你的ubuntu正在杀死编译器,因为它占用了更多的资源。查看/ var / log / syslog文件,了解内核杀死构建的原因。

1-尝试在gwt-maven中重新配置pom.xml插件,以便只启动工作人员

 <localWorkers>1</localWorkers>

2-尝试增加gwt编译器进程的内存

 <extraJvmArgs>-Xmx1g</extraJvmArgs>

3-尝试运行具有更多内存的maven

 $ export MAVEN_OPTS="-Xmx1g"

4-查看你的shell ulimit并增加适当的参数

 $ ulimit -a