完整的ant脚本,包含javac、javadoc、checkstyle、findbugs等等脚本命令。如果你还没有完整的ant脚本来管理工程,请参考使用此脚本,肯定给项目的管理带来很多好处。Ant脚本在手,管理工具不求。
静态代码检查工具三剑客,Checkstyle、findbugs、pmd的task都包含了,呵呵。请注意看清楚命令中的版本,这三个工具都可以从网络下载。
目录的结构个人喜好不一样,如果你的目录结构和我的不一致,请修改脚本中对应的参数。
目录结构说明图:
Ant脚本如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="Framework" default="build" basedir=".">
<!--
src:java source code
test:java test source code folder
resources:configuration file folder
dist:The jar and classes.
-classes
report:Test result report and checkstyle report folder.
-checkstyle
-tests
-findBugs
doc:Do not delete the folder.
Javadoc and checksyle configuration files.
-javadoc
-pmd
-codestyle
-findBugs
-->
<property name="src.dir" value="${basedir}/src"/>
<property name="lib.dir" value="${basedir}/WebRoot/WEB-INF/lib"/>
<property name="test.lib.dir" value="${basedir}/testlib"/>
<property name="dist.dir" value="${basedir}/dist"/>
<property name="dist.classes" value="${dist.dir}/classes"/>
<property name="docs.dir" value="${basedir}/doc"/>
<property name="report.dir" value="${basedir}/report"/>
<property name="jar.file" value="framework-core-1.0.jar"/>
<!-- All Need jar-->
<path id="classpath">
<fileset dir="${lib.dir}">
<include name="*.jar" />
</fileset>
<fileset dir="${test.lib.dir}">
<include name="*.jar" />
</fileset>
</path>
<target name="clean">
<delete dir="${dist.dir}" excludes="**/.svn" />
<delete dir="${report.dir}" excludes="**/.svn" />
<delete dir="${dist.classes}" excludes="**/.svn" />
</target>
<target name="prepare" depends="clean" description="Create the target directories">
<mkdir dir="${dist.dir}" />
<mkdir dir="${report.dir}" />
<mkdir dir="${report.dir}/tests" />
<mkdir dir="${report.dir}/checkstyle" />
<mkdir dir="${dist.classes}" />
</target>
<!--
=================================src下面java文件到指定class目录=====================
请注意一些配置文件需要全部拷贝过去,不要遗漏
-->
<target name="compile" depends="prepare" description="========WEBFUSW COMPILE=====">
<javac encoding="utf-8" destdir="${dist.classes}" debug="true">
<src path="${src.dir}" />
<classpath>
<path refid="classpath" />
</classpath>
</javac>
<copy todir="${dist.classes}">
<fileset dir="resources">
<include name="**/*.*" />
</fileset>
</copy>
</target>
<!--================================= 产生javadoc===================== -->
<target name="javadoc">
<mkdir dir="${docs.dir}/javadoc" />
<javadoc encoding="utf-8" sourcepath="${src.dir}" destdir="${docs.dir}/javadoc">
<classpath refid="classpath"/>
</javadoc>
<echo message="...........Javadoc command complete...."/>
</target>
<!--================================= test and create report===================== -->
<!--
<target name="tests" depends="compile">
<junit printsummary="on" fork="true" haltonfailure="false" failureproperty="tests.failed" showoutput="true">
<classpath>
<fileset dir="${classpath}" includes="**/*.jar" />
<pathelement path="${dist.classes}" />
</classpath>
<formatter type="xml" />
<batchtest todir="${report.dir}/tests">
<fileset dir="${dist.classes}">
<include name="**/*Test.*" />
</fileset>
</batchtest>
</junit>
<junitreport todir="${report.dir}/tests">
<fileset dir="${report.dir}/tests">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${report.dir}/tests" />
</junitreport>
</target>
-->
<!--
================================= create checkstyle report=====================
Please notify:modify the param of checkstyle-frames-errors.xsl and checkstyle-frames.xsl files as below
<xsl:param name="output.dir" select="'report/checkstyle'"/>
-->
<taskdef resource="checkstyletask.properties" classpath="${docs.dir}/checkstyle/checkstyle-all-5.0.jar"/>
<target name="checkstyle" depends="prepare" description="Generates a report of code convention violations.">
<mkdir dir="${report.dir}/checkstyle" />
<checkstyle
config="${docs.dir}/checkstyle/checkstyle_checks.xml"
failOnViolation="false">
<fileset dir="${src.dir}" includes="**/*.java" excludes="**/*Test.java" />
<formatter type="xml" toFile="${report.dir}/checkstyle/checkstyle_result.xml" />
</checkstyle>
<style in="${report.dir}/checkstyle/checkstyle_result.xml" out="${report.dir}/checkstyle/blank_report.html" style="${docs.dir}/checkstyle/checkstyle-frames-errors.xsl"/>
</target>
<!--
================================= findBugs report=====================
Run Error:javaheap is over,need modify the configure.
-->
<taskdef name="findbugs" classpath="${docs.dir}/findBugs/findbugs.jar" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/>
<property name="findbugs.home" value="${docs.dir}/findbugs" />
<target name="findbugs" description="Running findBugs......">
<mkdir dir="${report.dir}/findBugs" />
<findbugs home="${findbugs.home}"
output="xml"
outputFile="${report.dir}/findBugs/findBugs-report.xml" jvmargs="-Xmx512m">
<auxClasspath path="${docs.dir}/findBugs/jakarta-regexp-1.5.jar" />
<!-- dist.classes
<class location="${docs.dir}/findBugs/bcel.jar" />
-->
<class location="${dist.classes}" />
<!-- show findBugs -->
<sourcePath path="${src.dir}" />
</findbugs>
</target>
<!--
================================= PMD report=====================
PMD means from pmd.sourceforge.net:
Pretty Much Done.
Programming Mistake Detector.
<ruleset>basic</ruleset>
-->
<target name="pmd" description="Running PMD......">
<mkdir dir="${report.dir}/pmd" />
<taskdef name="pmd" classpath="${docs.dir}/pmd/pmd-4.2.5.jar" classname="net.sourceforge.pmd.ant.PMDTask"/>
<pmd shortFilenames="true">
<ruleset>${docs.dir}/pmd/springside3_ruleset.xml</ruleset>
<formatter type="html" toFile="${report.dir}/pmd/pmd_report.html" linkPrefix="../../doc/javadoc/"/>
<formatter type="xml" toFile="${report.dir}/pmd/pmd.xml" />
<fileset dir="${src.dir}">
<!--<include name="java/lang/*.java"/>-->
</fileset>
</pmd>
</target>
<!--
================================= JAR Task=====================
checkstyle,pmd,javadoc,compile
${dist.classes}
-->
<target name="jar" depends="compile,checkstyle,pmd,findbugs">
<jar destfile="${dist.dir}/${jar.file}">
<fileset dir="${dist.classes}">
<include name="**/*.class"/>
<include name="**/*.xml" />
<include name="**/*.conf" />
<include name="**/*.sql" />
<include name="**/*.properties" />
<include name="**/*.dtd" />
<exclude name="**/*Test.class" />
<exclude name="**/Test*.class" />
</fileset>
</jar>
</target>
<target name="build" depends="jar,javadoc" description="build project" />
</project>
- 大小: 12.5 KB
分享到:
相关推荐
在压缩包文件"antbuild"中,可能包含了示例的Ant构建文件build.xml,以及可能用于多渠道打包的配置文件或脚本。通过查看这些文件,读者可以更直观地了解Ant在实际项目中的应用方式。 总之,Ant Build脚本是一种强大...
java ant build脚本 用于增量更新和打包
综上所述,`java项目ant打包脚本`是Java开发过程中不可或缺的一部分,它通过Ant工具和`build.xml`配置文件实现了项目的自动化构建,提高了开发效率并确保了构建的一致性。理解并熟练掌握Ant打包脚本的编写和使用,...
本篇文章将详细解析`Android Ant build`脚本代码,以及如何实现自动化多渠道打包和自定义任务打包。 `Ant` 是Apache组织提供的一个Java项目构建工具,它基于XML来定义构建过程,具有高度可配置性和可扩展性。在...
用于jenkins+ant部署jmeter脚本,用于jenkins+ant部署jmeter脚本,
gwt_ant_build脚本研习 目录 build.xml源文件 构建工程war的分析 自定义的build工程文件
Ant是基于XML的,它的核心在于`build.xml`文件,这个文件是项目的构建脚本,详细定义了构建过程中的各种任务和依赖关系。 标题“一个常用的ant的build.xml”暗示了我们讨论的是一个标准且常见的Ant构建配置文件。...
ANT蚂蚁脚本是一种基于XML的构建工具,广泛用于Java项目的自动化构建、编译、测试和部署等任务。在Java开发中,ANT被视为Makefile的替代品,尤其在Maven流行之前,它是Java项目的首选构建工具。现在,尽管Maven和...
总结来说,这个Python程序gen1.py旨在简化Java开发中的ANT配置过程,通过自动分析项目结构和生成相应的build.xml文件,从而提高开发效率。了解ANT的基本概念、XML配置语法以及如何利用类似gen1.py的工具,对于Java...
Apache Ant 是一个广泛使用的Java构建工具,它以XML格式定义构建脚本,即`build.xml`文件。这个文件包含了构建项目的整个流程,从编译源代码到生成最终的可执行或部署包。下面我们将深入探讨`build.xml`的使用以及...
ant脚本例子,一个build.xml模板, 修改后直接运行。
总结,Java Ant build是Java项目自动化构建的重要工具,通过理解`build.xml`中的各个元素,我们可以更好地控制和管理项目的构建过程,确保代码的编译、测试和打包等工作高效、准确地完成。学习和掌握Ant构建,对于...
ant脚本构建工具,有详细的注释、用于构建程序war包,执行编译、修改、拷贝、远程上传程序war包、远程发布程序、远程重启服务器(tomcat)
标题中的“分享一个项目的Ant脚本配置”表明我们将探讨的是如何使用Apache Ant工具来构建和管理Java项目。Ant是开源的构建工具,广泛应用于Java项目,它可以自动化编译、打包、测试等开发流程。 在描述中提到的...
在TeamCity中,Ant脚本扮演着至关重要的角色,因为Ant是Java项目常用的构建工具,能够定义和执行构建过程。下面我们将深入探讨TeamCity与Ant脚本的结合使用及其相关知识点。 1. **Ant简介** Ant是Apache软件基金会...
- **构建文件**:在Ant中,构建过程是通过一个名为`build.xml`的XML文件定义的,这个文件包含了所有构建任务和它们的执行顺序。 - **目标(Target)**:是Ant中的一个关键概念,它代表了一组任务,这些任务按一定...
例如,Ant可以负责Java项目的构建和测试,而批处理脚本可以用来设置环境变量、启动服务器或者执行系统级别的清理工作。这样的组合既利用了Ant的灵活性和跨平台能力,又发挥了批处理脚本在Windows环境下的便利性。 ...
总结来说,`Ant`脚本编译`JAR`的过程主要包括:定义项目属性,编译源代码,创建`JAR`文件,并可能涉及处理资源文件和设置`JAR`的主类。通过灵活配置`Ant`脚本,我们可以实现自动化构建流程,提高开发效率。
在`antbuild`文件夹中,可能包含了Ant构建脚本(build.xml)以及其他项目资源,如源代码、测试用例、资源配置等。Ant可以通过命令行执行这个脚本,例如: ```bash ant compile ``` 这将根据`build.xml`中定义的`...
jmeter+ant 持续集成build.xml文件,直接使用ant命令执行jmeter脚本文件,得到图形测试报告