时间: 2021-07-31 作者:daque
媒介 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 <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.6 把几个工作串起来,弄一个default target <target name="all"> <antcall target="clean" /> <antcall target="build" /> <antcall target="warfile" /> </target> 打完收功。在试验中创造,少许摆设文献,如struts-config.xml ibatis和spring的xml都不妨打进jar文献,spring资源文献好象不行,得独立copy至web-infclasses下,其余,你的web文献夹下,事前得放好web.xml,以及少许tld文献哟。