上两篇文章[9,10]使用的是Ant和Bat进行案件发布,但是发布的内容为编译之后的class文件,这里对bat文件进行改进,使其变成jar包的形式。在目录下直接运行index.bat文件即可调用vendor中的第三方类库来执行userview.jar文件的主类。
这个操作主要牵涉到第三方类库的调用、打包为jar文件。
其中index.bat内容为:
java -Xbootclasspath/a:vendor\lib\junit.jar;vendor\lib\sqljdbc4.jar-jar userview.jar
pause
可见它引入了vendor\lib\junit.jar;vendor\lib\sqljdbc4.jar类库的内容来作为classpath的后缀,来执行后面的userview.jar文件。
注意这个userview.jar文件的打包命令为:
jar -cmf manifest %name%.jar userview
即把manifest文件打包进%name%.jar文件中,其可执行文件为userview包中的class代码。其中manifest文件为jar包的可执行文件头,其内容为:
Main-Class: userview.view
该语句标志了程序执行时,首先开始执行的主类。
对rb2.bat脚本进行改造,在第四步上方添加代码为:
echo 4.1 make the jar file
mkdir bin
javac -d bin src\userview\*.java
copy manifest bin\manifest
cd bin
jar -cmf manifest %name%.jar userview
copy %name%.jar ..\%name%.jar
cd..
上述代码首先建立了bin目录,编译所有的执行代码,然后将SVN管理根目录下的manifest文件拷贝到bin下,执行jar打包命令,最后拷贝文件到上级目录等待rar打包。
参考
4. Ant的主要任务的语法
5. Ant脚本的详细配置
6. Subversion综述
8. 项目自动化之道-2.使用CruiseControl定时建构