官方网站http://www.gradle.org/ ---- Gradle - Build Automation Evolved Gradle 是使用 groovy 作为配制文件的构建工具,同时也可以无缝集成 ant 和 maven。 和 ant, maven 类似,在文件夹放置文件 build.gradle 就可以自动构建。 下面这个是我用来构建Java小工具的Sample: apply plugin: 'java' apply plugin: 'eclipse' def baseProjectName = 'testapp' def shellCommandName = baseProjectName def eclipseProjectName = baseProjectName def eclipseProjectComment = 'my test application' def jarManifestMainClass = 'me.hatter.tools.xxx.Main' def installTargetBin = '/usr/local/bin/' archivesBaseName = baseProjectName sourceCompatibility = 1.5 targetCompatibility = 1.5 task initapp << { file('lib').mkdirs() file('src/main/java').mkdirs() file('src/main/resources').mkdirs() file('src/test/java').mkdirs() file('src/test/resources').mkdirs() println 'Init app finished [lib, src/main/java|resources, src/test/java|resources].' } task install << { def installBinDirLib = "${baseProjectName}_lib" if (!file("${installTargetBin}${installBinDirLib}").exists()) { file("${installTargetBin}${installBinDirLib}").mkdirs() } copy { from ('lib') into "${installTargetBin}${installBinDirLib}/" include '*.jar' } copy { from ('build/libs') into "${installTargetBin}${installBinDirLib}/" include '*.jar' } copy { from ('.') into "${installTargetBin}" include shellCommandName } ant.chmod(file: "${installTargetBin}${shellCommandName}", perm: 'a+x') } task packall << { def packtempclasses = "packtempclasses" def packtempmanifest = "packtempmanifest" def libs = ant.path { fileset(dir: 'lib', includes: '*.jar') fileset(dir: 'build/libs', includes: '*.jar') } libs.list().each { ant.unzip(dest: packtempclasses, src: it) } def antmanifest = ant.manifest(file: packtempmanifest) { attribute(name: 'Main-Class', value: jarManifestMainClass) } ant.jar(destfile: "${baseProjectName}all.jar", manifest: packtempmanifest) { fileset(dir: packtempclasses, includes: '**/*.*') } ant.delete(dir: packtempclasses) ant.delete(file: packtempmanifest) } dependencies { compile files(fileTree(dir: 'lib', includes: ['*.jar'], excludes: ['*-sources.jar', '*-javadoc.jar'])) // compile files(file(System.properties['java.home'].replaceAll('\\/jre(\\/)?$', "") + "/lib/sa-jdi.jar")) } eclipse { project { name = eclipseProjectName comment = eclipseProjectComment } classpath { defaultOutputDir = file('classes') } } jar { manifest { attributes('Main-Class': jarManifestMainClass) } } https://hatter-source-code.googlecode.com/svn/trunk/gradle/build.gradle 跳过单元测试: gradle build -x test |