网站怎么做图片超链接dw,大型公司办公室设计,网站开发定做,阿里云免备案服务器正如我在“ 用Gradle构建Java的初步了解”一文中所展示的那样#xff0c;当人们使用Java插件并将文件和目录放置在该插件期望的位置时#xff0c; Gradle尤其适用于构建Java应用程序的基础知识#xff08;惯例-基于项目的布局 #xff09;。 但是#xff0c;并非总是有一种… 正如我在“ 用Gradle构建Java的初步了解”一文中所展示的那样当人们使用Java插件并将文件和目录放置在该插件期望的位置时 Gradle尤其适用于构建Java应用程序的基础知识惯例-基于项目的布局 。 但是并非总是有一种结构尤其是在旧系统中可以满足Gradle的预期约定。 在本文中我将介绍重写Gradle Java插件的一些约定以允许简单的Gradle构建与不同的目录结构一起使用。 以下代码清单包含构建build.gradle的Gradle代码。 我在构建代码中添加了注释以帮助解释每种类型的定制正在做什么。 build.gradle // build.gradle
//
// This simple example of a Gradle build file exists primarily to demonstrate
// approaches to overriding Gradles default conventions related to use of the
// Java plugin.// The java plugin must be applied before attempting to access the sourceSets
// and other properties defined by the Java plugin to avoid an error message
// similar to the following: Could not find method sourceSets() for arguments...
apply plugin: java// Redefine where Gradle should expect Java source files (*.java)
sourceSets {main {java {srcDirs java}resources {srcDir resources}}
}// Redefine where .class files are written
sourceSets.main.output.classesDir file(dist/classes)// Redefine where jar task should place generated JAR file.
jar {destinationDir file(dist/jar)
}// Fully qualified directory/JAR for Guava Release 16 JAR file:
// C:\\guava16\\guava-16.0-rc1.jar
repositories { flatDir{dirs C:\\guava16}
}dependencies {compile guava:guava:16.0-rc1
}defaultTasks clean, jar 上面显示的Gradle构建文件首先应用Java插件。 然后它覆盖Java源文件的Gradle常规位置子目录代表软件包和文件具有.jar扩展名的最高级目录将此目录从默认的src/main/java更改为简单的java 。 同样生产资源的默认src/main/resources位置更改为简单的resources 。 然后通过指定sourceSets.main.output.classesDir现在为dist/classes sourceSets.main.output.classesDir build/classes/main是常规默认值上面显示的构建文件然后更改* .class文件具有表示其包结构的适当子目录的放置位置。 同样 jar任务的destinationDir被覆盖以指向dist/jar build/libs是约定这是jar任务生成的JAR文件的写入位置。 上面显示的简单Gradle构建脚本中显示的最终定制是使我的应用程序可以使用Guava Release 16 JAR的“存储库”和“依赖项”的规范碰巧取决于Guava Release 16。 Gradle为使用Maven或Ivy存储库提供了复杂的支持包括Maven Central的特殊语法但是此特定示例从我的本地文件系统C\ guava16获取了Guava Release 16 JAR。 依赖项本身用“ guavaguava16.0-rc1”表示因为该指定存储库目录中的JAR被称为“ guava-16.0-rc1.jar”。 为了使这些自定义的测试更加容易我将defaultTasks显式指定为clean和jar因此只要与上述build.gradle文件位于同一目录中我就需要在命令行上键入gradle 并且只要在该级别上有一个“ java”子目录其相应的基于包的目录中便包含.java源文件。 当遵循Gradle的约定时Gradle的构建最简洁最容易编写和阅读。 但是覆盖这些约定并指定自定义配置以匹配旧系统并不是很困难。 参考来自我们的JCG合作伙伴 Dustin Marx的Simple Gradle Java插件定制来自Inspired by Actual Events博客。 翻译自: https://www.javacodegeeks.com/2014/01/simple-gradle-java-plugin-customization.html