1.需要预备的软件
JDK,Ant,Bison,Perl,Gun build-essential,Awk。基本Ubuntu都已经预装,其余可以apt-get获得。
2.配置ant环境变量脚本。
在jikesrvm的根目录下,新建文件“.ant.properties”,写入如下配置。行末一定不要有空格,就因为这点茫然了半天。如果是64位,就用x86_64-linux,具体的配置按照 build 中的描述,只要文件名对应即可。
host.name=ia32-linux
target.name=ia32-linux
config.name=BaseBaseSemiSpace
patch.name=""
component.dir=/home/nightwish/workspace/jikesrvm-3.1.3/components
dist.dir=/home/nightwish/workspace/jikesrvm-3.1.3/dist
build.dir=/home/nightwish/workspace/jikesrvm-3.1.3/temp
components.cache.dir=/home/nightwish/workspace/jikesrvm-3.1.3/download
3.build
进入jikesrvm根目录执行 ant 进行build。
其中遇到一些问题:
classpath下载失败,所以在ant属性脚本里添加了最后一行,把手动下载的lib放在作为cachedir的 download/ 目录里。
build.xml中的这三行,每行都遇到问题。
<ant antfile="build/components/junit.xml" target="ensure"/>
<ant antfile="build/components/hamcrest.xml" target="ensure"/>
<ant antfile="build/components/mockito.xml" target="ensure"/>
hamcrest和mockito在xml文件中给的链接都是可以下载的,但是不知为何ant总是链接失败。后来把手动下载的jar包放入目标文件夹,把后两行注释,ant编译出错后,再把后两行注释取消,继续编译就通过。
遇到的问题大多是都是网络链接带来的依赖库无法下载,不知是不是天朝网络的问题。
最后 BUILD SUCCESSFUL 撒花庆祝。