写好ant脚本的第一步

要运用好ant来构建项目,我认为理清项目的目录至关重要:

拿myeclipse为例:WebProject和JavaProject在工作空间的目录结构:

一个WebProject下面会有两个属于我们的目录   /src 、/WebRoot,其余的.classpath   .project为IDE工具自己生成的配置文件

/src一般存放项目的各种配置文件和java文件

/WebRoot是Web项目的根目录,存放各种jsp、图片、js库、各种jar包、各类资源等

在/WebRoot目录下有一个WEB-INF目录, 里面有一个文件夹为classes,myeclipse会把/src下的java文件编译后生成的class文件放到这里,如果web应用存在依赖的其他项目,则会把其他项目编译后生成的class文件一并放到这里

 

一个JavaProject下面也会有两个属于我们的目录  /bin、/src

/src和web项目一样存放java源文件,

/bin目录下就存放着编译java后生成的class文件                        这里说的目录均指myeclipse工作空间的目录

 

myeclipse的部署都完成了哪些任务?

1、编译:我们点击Deploy的时候往往都是部署一个WebProject,myeclipse会先编译项目中的java文件,也就是/src里的java文件(如果有的话)、然后检查项目是否存在依赖关系(通过工作空间里的.classpath配置文件,可以去阅读一下这个配置文件)如果web项目存在依赖关系,就会去编译所依赖的项目中的java文件,对于web项目,编译.java生成的.class会放在/WebRoot/WEB-INF/classes/ 下面,对于java项目, 编译.java生成的.class会放在  /bin下面

2、组合:组合就是把web项目所依赖的其他项目下的class文件放在自己的目录下,因为上传到服务器上的只有WebProject,所以myeclipse会把其他项目/bin下面的class文件copy到自己的classes文件夹下

3、上传:把组合后的WebRoot目录下面的所有内容, 上传到服务器上以项目名命名的目录下。

 

以上这种部署是我们本地的部署, 但就我的项目经验而言,生产机上的项目目录并非这样:

在生产机上, 项目的classes文件夹下不存放任何class文件,只存放和项目有关的配置文件,而web依赖的class文件会打成相应的jar包放在/WEB-INF/lib/下面,

这样管理起来比较方便, 每次程序如果有更新也比较方便。

其实ant脚本就是按照这个思路,手动的按照生产机上的目录完成编译、打包、放置的过程

 

你可能感兴趣的:(写好ant脚本的第一步)