在Eclipse中使用ANT灵活构建Web应用

616625726abc

616625726abc

2016-02-19 14:01

下面是个简单易学的在Eclipse中使用ANT灵活构建Web应用教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!
前言
  
  ant是Java开发者工具箱的重要一环,junit,xdoclet等都与它紧密关联,程序员可能习惯了IDE提供的自动构建,甚至部署的功能,从而忽略了ant本身,其实,主流的IDE通常是内置ant任务来完成这些工作的,熟悉ant内在的机理,可以阅读或简单修改build.XML无疑可以帮助你更灵活地集成、治理应用项目,假如需要学习maven这种开源项目治理解决方案,也是要以理解ant为基础的哟。另外,使用ant的过程实际上对构建进行了文档化,它是无关于IDE的,想象一下,你的同事中可能三分之一在用JbuilderX,三分之一用eclipse,还有一些是别的。
  
  本人使用eclipse3.0.1,以前的构建和发布工作都由myeclipse插件作了,趁周末实践了一下手动构建,记此备忘。
  
  实践
  
  预备工作:这是我的个人习惯,把所有公用的类库jar置于一个固定目录,分好类,不要丢在一个文件夹下,如jakarta-commons、hibernate、spring、struts等,这些是源码构建时需要用到的,在部署时可能有一些不用再打进去了,比如servlet.jar。假如你们有自己的framework,也一并放在这里。然后,打开eclipse,进入Windows->Preferences->Java->User Libraries,增加一个自己的库,比如说mylib,把刚才那些公共的jar全部添入,这样有个好处,在eclipse项目中,不用再看到烦人的长长的jar列表了,比较整洁。
  
  下来正式进行:
  
  1.新建一个Java Project,此时就不要再选你的j2ee插件内置的一些选项了,至简即可。
  
  2.在root下建几个文件夹,我们在网上下载的开源项目中经常可以看到这些,比如:
  
  src - 源码
  classes - 编译
  web - jsp等
  lib - 库,这里可以简单地把mylib下的东东copy过来,便于将来发布源码。
  dlist - 输出的jar或war
  
  当然,我们要建一个build.xml,eclipse中会出现一个蚂蚁的小图标,一般这个文件建立后,下一个项目简单的copy过去,稍加改动就可以了。
  
  3.打开项目的属性页,在Java Build Path的库选项中,加入我们自定义的公共库mylib.至于Builders方式就不用改了,使用默认的Java Builer即可,我只是项目部署时使用ant,平常的排错工作就交给IDE吧。
  
  4.重中之重,写你的build.xml,网上文章很海,我这里就不再啰嗦了,基本上就分那几个任务:
  
  4.1 先要声明一些路径变量,如
  
  <property name="war.dir" value="dlist" />
  也可以将其写至properties文件中,在这里引用;
  
  4.2 声明编译的类路径,如下:
  
  <path id="master-classpath">
   <fileset dir="${lib.root}/struts">
  <include name="struts-menu-2.3.jar" />
  <include name="struts.jar" />
   </fileset>
   <fileset dir="${lib.root}/jakarta-commons">
  <include name="commons-*.jar" />
   </fileset>
   <fileset dir="${lib.root}/ibatis2.0.9">
  <include name="ibatis-*.jar" />
   </fileset>
   <fileset dir="${lib.root}/jdbcdriver">
  <include name="jtds-0.9-rc2.jar" />
   </fileset>s
  ......
  </path>
  4.3 清空输出目录,如web,dlist等。
  
  4.4 编译构建:
  
  <target name="build" description="Compile main source tree java files into class files, generate jar files">
  
  <mkdir dir="${build.dir}" />
  
  <javac destdir="${build.dir}" source="1.3" target="1.3" debug="true" deprecation="false" optimize="false" failonerror="true">
   <src path="${src.dir}" />
   <classpath refid="master-classpath" />
  </javac>
  
  <copy todir="${build.dir}" preservelastmodified="true">
   <fileset dir="${src.dir}">
  <include name="**/*.xml" />
  <include name="**/*.properties" />
   </fileset>
  </copy>
  <!-- ============================================= -->
  <!-- 据测试,资源文件不能被打到jar文件中,其余均可 -->
  <!-- ============================================= -->
  <copy todir="${webclasses.dir}/conf" preservelastmodified="true">
   <fileset dir="${src.dir}/conf">
  <include name="springResources*.properties" />
   </fileset>
  </copy>
  
  <mkdir dir="${weblib.dir}" />
  
  <jar jarfile="${weblib.dir}/${name}.jar" compress="true">
   <fileset dir="${build.dir}">
  <include name="**" />
   </fileset>
  </jar>
  
  <copy todir="${weblib.dir}" preservelastmodified="true">
  
  <fileset dir="${lib.root}">
   <include name="log4j-1.2.8.jar" />
  </fileset>
  <fileset dir="${lib.root}/struts">
   <include name="struts-menu-2.3.jar" />
   <include name="struts.jar" />
  </fileset>
  <fileset dir="${lib.root}/jakarta-commons">
   <include name="commons-*.jar" />
  </fileset>
  <fileset dir="${lib.root}/spring-1.1.3">
   <include name="spring.jar" />
   <include name="aopalliance.jar" />
  </fileset>
  ......
  
  </copy>
  
  </target>
  
  <!-- ============================================= -->
  <!-- Compile main Java sources and copy libraries -->
  <!-- ============================================= -->
  <target name="warfile" description="Build the web application archive">
  
  <mkdir dir="${dist.dir}" />
  <war warfile="${dist.dir}/${name}.war" basedir="${war.dir}" webxml="${war.dir}/WEB-INF/web.xml">
   <include name="*" />
   <include name="WEB-INF/*.*" />
   <exclude name="WEB-INF/web.xml" />
   <include name="WEB-INF/classes/*.*" />
   <include name="WEB-INF/lib/**" />
   <exclude name="**/.*" />
  </war>
  
  </target>
  
  4.5 打成war
  
  
展开更多 50%)
分享

猜你喜欢

在Eclipse中使用ANT灵活构建Web应用

编程语言 网络编程
在Eclipse中使用ANT灵活构建Web应用

Eclipse中使用ANT

Java JAVA基础
Eclipse中使用ANT

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

使用Ant和Tomcat创建Web应用

Java JAVA基础
使用Ant和Tomcat创建Web应用

在桌面应用中使用JAVA DB

编程语言 网络编程
在桌面应用中使用JAVA DB

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在Delphi应用程序中使用DLL

Delphi
在Delphi应用程序中使用DLL

使用AJAX技术构建更优秀的Web应用程序

电脑网络
使用AJAX技术构建更优秀的Web应用程序

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

[Struts]配置第一个Struts 应用

[Struts]配置第一个Struts 应用

Struts源码研究-logic-Iterator标签篇

Struts源码研究-logic-Iterator标签篇
下拉加载更多内容 ↓