响应式网站好还是自适应网站好,wordpress选项卡怎么设置,wordpress octopress,hishop使用Gradle构建Java项目这个手册将通过一个简单的Java项目向大家介绍如何使用Gradle构建Java项目。我们将要做什么#xff1f;我们将在这篇文档航中创建一个简单的Java项目#xff0c;然后使用Gradle构建它。需要准备什么#xff1f;预留15分钟空闲时间一件称手的兵器(你最喜…使用Gradle构建Java项目这个手册将通过一个简单的Java项目向大家介绍如何使用Gradle构建Java项目。我们将要做什么我们将在这篇文档航中创建一个简单的Java项目然后使用Gradle构建它。需要准备什么预留15分钟空闲时间一件称手的兵器(你最喜欢的IDE或者文本编辑器)Java环境([JDK6](http://www.oracle.com/technetwork/java/javase/downloads/index.html”JDK”及以上版本)如何完成这个手册的内容与大多数Spring的入门手册一样你可以从头开始一步步完成教程中的每一步工作也可以跳过你已经烂熟的基础步骤。不管采用那种方式你最后都会得到可工作的代码。如果要重头开始猛戳这里如果要跳过基础部分需执行以下操作下载并解压本文档相关源代码或者使用Git克隆一个git clone https://github.com/spring-guides/gs-gradle.gitcd 进入 gs-gradle/initial当你完成后你可以使用gs-gradle/complete来检查你的结果。配置项目首先需要配置一个项目给Gradle进行构建。为了保证我们能专注于Gradle目前最好创建最简单的Java项目。创建目录结构在项目主目录下创建以下子目录;在*nix系统下可以使用命令mkdir -p src/main/java/hello在src/main/java/hello目录中你可以创建任何Java类。为简单起见并且为了与指南的其余部分保持一致我们建议创建两个雷HelloWorld.java和Greeter.javasrc/main/java/hello/HelloWorld.java的源代码src/main/java/hello/Greeter.java的源代码安装Gradle到目前为止我们已经搭建了一个可以用来使用Gradle构建的项目现在到了安装Gradle的时候了。Gradle可以从http://www.gradle.org/downloads下载。我们仅需要下载Gradle的二进制发布包所以在刚才提供的连接上寻找gradle-version-bin.zip文件(当然也可以下载gradle-version-all.zip它包含源代码、文档以已编译代码)解压缩下载的文件并将解压后目录中的bin目录加到环境变量中。可以在命令行中执行以下代码来测试Gradle是否安装成功如果你很幸运嘛事都OK你会看到下面的welcome信息看到这个了说明Gradle已经成功安装到系统中了。如果没看到……再去看看Gradle的手册先。Gradle可以做些什么呢Gradle已经安装到系统上了那么它可以做什么呢在我们为项目创建build.gradle文件之前我们可以先问一下Gradle目前有哪些可用的任务(Tasks)我们可以看到可用任务(Tasks)的列表。假设你执行Gradle的目录不存在build.gradle文件你可以看到一些非常基础的任务类似于尽管上面的列出的任务是可用的但是如果没有项目的构建配置他们无法提供太多的价值。当配置了项目的build.gradle后一些任务将变得非常有用。如果在build.gradle中配置了插件(plugins)上面的任务列表会变得更长最好在配置插件后使用gradle task看看那些任务是可用的。刚说到配置插件马上我们就会配置一个插件来启用基础的Java构建功能。构建Java代码先从简单的开始创建一个最简单的只有一行的build.gradle文件别看只有一行配置提供的能力可不是一点点哦。再执行一下gradle task我们可以看到任务列表中增加了一些内容比如用来编译java项目的任务、用来创建JavaDoc的任务、用来执行单元测试的任务。我们经常使用的任务是gradle build这个任务执行以下操作编译、执行单元测试、组装Jar文件几秒钟以后会看到”BUILD SUCCESSFUL”输出说明构建已经完成了。可以到”build”目录中查看构建结构在这个目录中我们可以看到很多子目录其中有三个我们需要特别注意classes: 保存被编译后的.class文件reports: 构建报告(如测试报告)lib: 组装好的项目包(通常为.jar或者.war文件)classes目录包含编译生成的所有.class文件。执行完编译后我们应该可以在这里找到”HelloWorld.class”和”Greeter.class”。到目前为止我们项目并没有申明任何依赖所以”debendency_cache”目录是空的。“reports”目录会包含项目单元测试的测试报告当然当前项目并未编写任何单元测试所以也是空目录。“lib”目录包含打包后的jar或war文件在后面的内容中我们将学会如何定义JAR的名称和版本号。申明依赖我们的Hello World例程非常简单且不依赖于任何第三方库但是大多数应用程序都会依赖第三方库提供的通用或复杂的功能。例如假设我们希望更好的说”Hello World!”我们希望应用程序能同时输出当前的日期和时间。当然这可以使用Java自身的日期和时间相关库但是我们可以使用”Joda Time”库实现更有趣的功能。首先把HelloWorld.jara类修改成下面这样这里我们的HelloWorld使用”Joda Time”的LocalTime类来获取和输出当前时间。如果我们马上执行gradle build来构建项目构建过程将会失败因为我们并未将”Joda Time”库声明为编译时依赖库。首先我们需要添加一些配置来定义第三方库的来源上面的repositories定义告诉构建系统通过Maven中央库来检索项目依赖的软件包Gradle在很大程度上依赖Maven构建工具的许多约定和基础功能,包括使用Maven中央的库来处理依赖关系。现在我们可以使用第三方库了但现需要定义使用dependencies块我们定义了一条Joda Time的依赖项。这里明确指定使用joda-time组内的版本为2.2的joda-time库。另一个要注意的是我们在这个依赖定义中指定依赖是compile范围的。意思是这个库在编译和运行时都需要(如果我们正在构建WAR文件这个文件会在/WEB-INF/libs目录下)。另外值得注意的依赖类型包括providedCompile在编译期间需要这个依赖包但在运行期间可能由容器提供相关组件(比如Java Servlet API)testCompile依赖项仅在构建和运行测试代码时需要在项目运行时不需要这个依赖项。最后我们来定义我们将生成的Jar文件的名字jar块定义如何命名JAR文件在上面的例子中我们的JAR文件的名字为gs-gradle-0.1.0.jar。注这个时候如果执行gradle buildGradle会花一些时间从Maven中央库下载Joda Time包(具体下载时间依赖于你的网速)使用Gradle Wrapper来构建项目Gradle Wrapper是开始一个Gradle构建的首选方式。它包含了windows批处理以及OS X和Linux的Shell脚本。这些脚本允许我们在没有安装Gradle的系统上执行Gradle构建。要实现这个功能我们需要在我们的build.gradle文件中增加以下代码执行下面代码来下载和初始化wrapper脚本:命令执行完后我们可以看到增加了一些新文件。有两个文件在根目录下wapper的jar文件和properties文件在新增的gradle/wrapper目录下。现在Gradle Wrapper已经可以用来构建系统了。把这些文件增加到版本控制系统中然后再任何时候、任何地方只要迁出这些文件就一个按照同样的方式(与当前生成 Wrapper的Gradle版本一致)构建系统。运行wrapper脚本来构建系统跟我们之前桥的命令很像当第一次通过wrapper使用指定版本的Gradle构建系统时wrapper首先下载对应版本的Gradle可执行文件。Gradle Wrapper的所有文件在都可以被提交到版本库中所以任何人都可以在没有安装Gradle的环境下使用相同版本的Gradle构建系统。在这个时候我们需要重新构建我们的代码构建的结果目录如下Jar文件中包含我们希望打包的Gretter和HelloWorld类。需要注意的,即使我们声明了joda-time依赖,但这里也没有包括对应的库文件而且生成的JAR文件也不是可运行JAR文件。要想让代码可以运行我们可以使用Gradle的application插件。增加以下内容到build.gradle文件中。现在我们的app可以执行了。为了能够将依赖包也以一起打包比如我们希望构建一个WAR包可以包含第三方组件的打包格式我们可以使用Gradle的WAR插件。如果我们使用Spring Boot并且希望得到一个可执行的JAR文件我们可以使用spring-boot-gradle-plugin插件。在我们的示例中gradle没有足够的信息来了解我们的目标系统。但是目前介绍的内容已经足够我们开始使用Gradle了。下面是本文需要用的的build.gradle文件