本文由 伯乐在线 - JustinWu翻译,黄利民 校稿。未经许可,禁止转载! 英文出处:Petri Kainulainen。欢迎加入翻译组。html
若是你并不熟悉Gradle,在继续阅读本文以前,你应当先阅读如下文章。java
若是要用 Java 和 Gradle 建立一个 Web 应用项目,咱们首先须要建立一个 Java 项目,下面来看看该如何去作。git
咱们可使用Java插件建立一个Java项目,经过添加如下代码行到build.gradle文件中便可。github
apply plugin: 'java'
扩展阅读: Java插件中加入了一些新的约定(例如:默认的目录格式)、任务和构建属性。若是你想获悉这些内容,能够阅读下面这篇文章。《Gradle入门(2):第一个Java项目》web
咱们继续探索如何打包Web应用。shell
在咱们使用War插件打包Web应用前,须要将其加入到构建中。在应用了War插件后,build.gradle文件以下:api
apply plugin: 'java' apply plugin: 'war'
War插件在项目的目录布局下添加了一个新的目录,加入了两个新的依赖管理配置项,以及在项目中添加了一个新的任务。这些变化的详细描述以下:app
即使War插件在项目的目录布局下添加了src/main/webapp目录,但它实际上并无被真正建立。若是咱们须要这个目录,那就必须本身来建立。webapp
扩展阅读: 若是你不知道compile和runtime配置项是什么,你应该阅读如下文章:《Gradle入门(3):依赖管理》ide
如今,咱们能够在命令提示符下,经过gradle war命令打包Web应用。此时此刻,咱们能够看到以下输出:
> gradle war :compileJava :processResources :classes :war BUILD SUCCESSFUL Total time: 4.937 secs
若是一切顺利,咱们应该能够在build/libs目录下找到web-application.war文件。
扩展阅读:若是你须要关于War插件或war任务的更多信息,或者是,你想要覆盖War插件或war任务的默认配置,你能够多多关注如下网页:
咱们可使用Gretty在开发环境中运行Web应用,它支持Jetty和Tomcat,它也不会被 Gradle缺乏SLF4J绑定所致使的问题所困扰。咱们继续进行配置构建并使用Gretty运行Web应用。首先,必须配置构建脚本的依赖。能够经过如下步骤完成:
**扩展阅读:**若是你想了解更多关于在已经打包为jar的文件上使用的二进制插件的技巧,你能够阅读Gradle用户手册的如下章节:
第二步,应用Gretty插件。作完这一步后,build.gradle文件以下:
buildscript { repositories { jcenter() } dependencies { classpath 'org.akhikhl.gretty:gretty' } } apply plugin: 'java' apply plugin: 'war' apply plugin: 'org.akhikhl.gretty'
build.gradle的源代码以下:
buildscript { repositories { jcenter() } dependencies { classpath 'org.akhikhl.gretty:gretty' } } apply plugin: 'java' apply plugin: 'war'
第三步,按照如下步骤配置Gretty:
build.gradle文件的源代码以下:
buildscript { repositories { jcenter() } dependencies { classpath 'org.akhikhl.gretty:gretty' } } apply plugin: 'java' apply plugin: 'war' apply plugin: 'org.akhikhl.gretty' gretty { port = 8080 contextPath = '/' servletContainer = 'jetty9' }
扩展阅读:若是你想了解关于Gretty的更多内容,能够仔细看一下如下文档:
如今,咱们能够经过在命令提示符下运行如下命令,开启或终止咱们的Web应用:
这篇教程教会了咱们四项内容:
P.S. 你能够从 Github 上拿到这篇教程的演示程序。