准备环境
该书的作者在Windows上写的相关的示例代码,另外对Linux有所考虑,代码里面有相关内容,但并未考虑Mac用户,因此在Mac上不能直接运行那些代码,需要做一些修改。
安装JDK、Ant
首先就是相关开发环境,安装Java(JDK)和Ant。在Mac上通常用brew安装相关软件:
$ brew install ant
但不要安装brew版的Java,那个是OpenJDK!去java官网下载安装好了。
之后修改.bashrc文件,添加相关配置:
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home"
export JAVA_HOME
ANT_HOME="/usr/local/Cellar/ant/1.10.5/libexec"
export ANT_HOME
PATH=".$PATH:$JAVA_HOME/bin:$ANT_HOME/bin"
注意上面的ANT_HOME需要指到libexec子目录。
安装Bean Shell
下载bsh.jar,到官网:http://www.beanshell.org/download.html
最新的是:bsh-2.0b4.jar
然后把该文件放到/Library/Java/Extensions/目录下,可以建个符号链接来去掉版本号:
$ sudo ln -s ./bsh-2.0b4.jar bsh.jar
编译、运行代码
到你的iWeb2目录下,找到src/iweb2/util/config/IWeb2Config.java文件,修改如下代码:
public static String getHome() {
String osName = System.getProperty("os.name");
if (osName.startsWith("Linux")) {
return System.getProperty("iweb2.home");
} else { // Windows is the default
return "C:/iWeb2";
}
}
改为:
public static String getHome() {
String osName = System.getProperty("os.name");
if (osName.startsWith("Linux") || osName.startsWith("Mac")) {
return System.getProperty("iweb2.home");
} else { // Windows is the default
return "C:/iWeb2";
}
}
也就是Mac的情况也考虑进去,否则路径总是不对。
到你的iWeb2目录下的build子目录下,运行ant即可编译。
运行deploy/bin/bsc.sh脚本即可启动bean shell。
运行代码
在docs/BeanShell-Notes目录下是书中的示例代码,修改相应的home目录到你的环境,就可以运行了。