Gradle入门:创建Web应用程序项目

这篇博客文章描述了如何使用Gradle创建一个Web应用程序项目。

更具体地说,我们想创建一个使用Java的Web应用程序项目,将我们的Web应用程序打包到WAR文件中,并在开发环境中运行我们的Web应用程序。

让我们找出如何满足这些要求。

补充阅读:

如果您不熟悉Gradle, 请先阅读以下博客文章,然后再继续阅读此博客文章:

创建一个Web应用程序项目

如果我们要创建一个使用Java和Gradle的Web应用程序项目,那么我们要做的第一件事就是创建一个Java项目。 让我们看看我们如何做到这一点。

创建一个Java项目

我们可以通过应用Java插件来创建Java项目。 我们可以通过在build.gradle文件中添加以下行来实现:

apply plugin: 'java'

Java插件向我们的版本添加了新的约定(例如,默认目录布局),任务和属性。 如果您想了解更多有关此的内容,则应阅读以下博客文章:

让我们继续前进,了解如何打包我们的Web应用程序。

打包我们的Web应用程序

在使用War插件打包Web应用程序之前 ,我们必须将其添加到我们的构建中。 应用War插件后, build.gradle文件如下所示:

apply plugin: 'java'
apply plugin: 'war'

War插件将一个新目录添加到项目的目录布局中,添加两个新的依赖项管理配置,并向我们的项目添加一个新任务。 这些更改描述如下:

  • War插件将src / main / webapp目录添加到项目的目录布局中。 此目录包含Web应用程序的源(CSS文件,Javascript文件,JSP文件等)。
  • War插件添加了两个新的依赖项管理配置,称为providerCompileproviderRuntime 。 这两个配置与编译运行时配置具有相同的作用域,但是不同之处在于,属于这些新配置的依赖项未添加到WAR存档中。
  • War插件还将战争任务添加到我们的Web应用程序项目中。 此任务将WAR归档文件汇编到build / libs目录。

补充阅读:

如果您不知道什么是编译运行时配置,则应阅读以下博客文章:

现在,我们可以通过在命令提示符处运行命令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任务的默认配置,则应仔细查看以下网页:

让我们找出如何在开发环境中运行Web应用程序。

运行我们的Web应用程序

我们可以使用Gretty在开发环境中运行Web应用程序。 它同时支持Jetty和Tomcat,并且不会受到Gradle泄漏SLF4J绑定引起的问题的困扰 。 让我们继续并配置我们的构建,以使用Gretty运行我们的Web应用程序。

首先 ,我们必须配置构建脚本的依赖关系。 我们可以按照以下步骤进行操作:

  1. 配置构建脚本以在解析依赖项时使用Bintray的JCenter Maven存储库
  2. 将Gretty插件依赖项添加到构建脚本的类路径中。

build.gradle文件的源代码如下所示:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.akhikhl.gretty:gretty:+'
    }
}

apply plugin: 'java'
apply plugin: 'war'

如果您想了解有关使用已发布为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'

第三 ,我们需要按照以下步骤配置Gretty:

  1. 将Gretty配置为在运行我们的Web应用程序时将Jetty 9用作servlet容器。
  2. 配置Jetty以侦听端口8080。
  3. 使用上下文路径“ /”将Jetty配置为运行我们的Web应用程序。

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应用程序:

  • 命令gradle appStart将运行我们的Web应用程序。
  • gradle appStop命令将停止我们的Web应用程序。

让我们继续并总结从这篇博客文章中学到的知识。

摘要

这篇博客文章教会了我们四件事:

  • 我们了解到,如果使用默认配置,则必须将Web应用程序的源放置到src / main / webapp目录中。
  • 我们了解到War插件向我们的构建中添加了两个新的依赖项配置( ProvideCompileProvidedRuntime ),并且我们了解了这些依赖项配置如何工作。
  • 我们学习了将Web应用程序打包到WAR文件中。
  • 我们学会了在开发环境中运行Web应用程序。

PS:您可以从Github获得此博客文章的示例应用程序。

如果您想学习如何使用Gradle,请阅读我的Gradle教程

翻译自: https://www.javacodegeeks.com/2015/03/getting-started-with-gradle-creating-a-web-application-project.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值