`
zsjg13
  • 浏览: 145749 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

用Gradle进行Web开发

阅读更多

Gradle提供了开箱即用的插件用于组装WAR文件,以及将其部署到本地Servlet容器中。

 

使用War以及Jetty插件:

War插件扩展了Java插件:添加了一些用于web应用开发的约定,以及对组装WAR文件的支持。Jetty带了一个嵌入式的容器实现,就是通过给你的应用添加一个HTTP模块。GraldeJetty插件扩展了WAR插件,它提供了一些任务用来把web应用部署到嵌入式的容器中并运行你的应用。

 

既然War插件扩展了Java插件,实际上,这就意味着在你的构建脚本中就不再需要Java插件了,因为War插件会自动引入Java插件。

apply plugin: 'war'

 

web应用的源文件默认是存放在src/main/webapp

 

web应用用到了javax.servlet.HttpServlet,不属于Java标准版的部分,因此要指定此依赖。

利用providedCompile:用于一些在编译要用到,但由运行时环境提供的依赖。在此,运行时环境是Jetty。结果,标记为provided的依赖不会打包进War中。运行时依赖例如JSTL

编译过程中用不到,但在运行时用到,因此会放入war中。

dependencies {

   providedCompile 'javax.servlet:servlet-api:2.5'

   runtime 'javax.servlet:jstl:1.1.2'

}

 

构建项目:

$ gradle build

组装好的war位于build/libs中。

 

默认,war文件名是根据项目的目录名得来的。

 

接下来,我们来讨论对于非标准布局的配置:

.

├──  build.gradle

├──  src

     └──  main

         └──  java

             └──  ...

├──  static

     └──  css

         ├──  base.css

         └──  bg.png

└──  webfiles

     ├──  WEB-INF

          └──  web.xml

     └──  jsp

         ├──  index.jsp

         └──  todo-list.jsp

 

配置如下:

webAppDirName = ‘webfiles’

war {

         from ‘static’

}

你可以查看War插件的DSL指南来了解它的一些配置参数。

 

用一个嵌入式的web容器运行你的应用:

apply plugin: 'jetty'

用于运行web应用的任务是jettyRun

$ gradle jettyRun

:compileJava

:processResources UP-TO-DATE

:classes

> Building > :jettyRun > Running at http://localhost:8080/todo-webapp-jetty

默认端口号是8080,上下文路径就是你的项目名

 

快速应用开发:

一些改动就要重启容器会浪费时间。Jetty插件允许你不重启容器就能修改静态资源以及JSP文件。另外,对于class文件的变动,可以利用JRebel(一种字节码交换技术)来执行热部署。

 

定制Jetty插件:

jettyRun {

httpPort = 9090

contextPath = ‘todo’

}

分享到:
评论

相关推荐

    Gradle构建(war) web项目示例

    在现代的Java Web开发中,Gradle已经成为一个流行的构建工具,它替代了传统的Maven或Ant,提供了更灵活、可定制化的构建流程。本示例将深入探讨如何使用Gradle来构建一个WAR(Web Application Archive)文件,这是...

    GradleWeb项目

    【GradleWeb项目详解】 ...总结,GradleWeb项目为初学者和有经验的开发者提供了一个便捷的起点,通过学习和实践,可以深入了解Gradle在Java Web开发中的应用,以及如何利用其灵活性和强大的功能来优化开发流程。

    gradle多模块开发

    在现代软件开发中,Gradle已经成为了Java领域广泛使用的构建工具,尤其在大型项目和多模块项目中,其优势更为显著。"gradle多模块开发"这个主题涉及到如何有效地管理和构建多个相互依赖的子项目,形成一个整体的工程...

    idea gradle 多模块开发

    只需在工具栏选择"Build" -> "Rebuild Project"或使用快捷键,Idea就会调用Gradle进行编译和打包。 对于Web应用,Idea支持创建基于Java EE的多模块项目。例如,一个典型的Web项目可能包含以下模块:`webapp`(包含`...

    gradle多模块开发项目实例

    下文就介绍一下怎么用gradle开发多模块项目.对于gradle,在Eclipse和IDEA开者之间,毫无疑问选择IDEA作为IDE. testweb是一个简单例子,项目只分成了core和web两个模块.其中core模块是放一些基本的或公共的java类,web...

    gradle+springboot+mysql+mybatis+thymeleaf开发的web实例

    在本文中,我们将深入探讨如何使用Gradle、Spring Boot、MySQL、MyBatis以及Thymeleaf技术构建一个完整的Web应用程序实例。这个实例是初学者理解这些技术集成的理想起点。 首先,让我们逐一介绍这些技术: 1. **...

    在IntelliJ IDEA 中使用 Gradle JavaFx

    IntelliJ IDEA是一款强大的Java集成开发环境,支持多种构建工具,其中就包括Gradle。Gradle是一个灵活且高效的构建自动化系统,它允许我们通过声明式的方式来配置项目构建。当两者结合时,可以方便地管理和构建...

    spring gradle依赖 .gradle文件

    Spring框架是Java开发中广泛使用的开源框架,它简化了创建和管理复杂的Java应用程序。Gradle是一种先进的构建自动化工具,常用于...在Eclipse中导入这些依赖文件,可以帮助开发者更高效地进行Spring框架的开发工作。

    gradleTest_gradle管理_

    Gradle还支持与各种持续集成工具(如Jenkins、GitLab CI/CD)的集成,可以方便地进行自动化测试、部署等操作。例如,设置JAR文件的发布路径: ```groovy artifacts { archives jar } ``` 六、结论 "gradleTest...

    gradle的jetty插件使用例子

    在Java Web开发中,Jetty是一个轻量级、高性能的HTTP服务器和Servlet容器,它支持多种部署方式,包括作为嵌入式服务器使用。Gradle,作为现代的构建工具,提供了丰富的插件生态系统,其中包括Jetty插件,使得在开发...

    gradle8.2版本(bin+all)

    Gradle 是一个强大的构建自动化工具,广泛用于Java、Android和其他JVM语言的项目。它采用领域特定语言(DSL)来...通过正确配置和使用Gradle,可以提高开发效率,简化项目维护,同时利用其丰富的插件生态系统扩展功能。

    gradle-web-resource-plugin:Gradle插件可在不使用Node.jsnpm的情况下使用CoffeeScript,LESS和Bower库

    在现代Web开发中,CoffeeScript、LESS和Bower库是常见的工具,它们帮助我们编写更简洁、可读性更强的JavaScript代码以及管理前端资源。然而,依赖Node.js和npm可能会带来额外的复杂性和依赖管理问题。为了解决这个...

    使用Gradle 构建spring Boot工程系列项目源码(配合第五篇文章)

    Spring Boot的starter项目简化了依赖的引入,如`spring-boot-starter-web`用于添加Web开发支持。 5. **插件应用**:Gradle允许自定义或使用已有的插件来扩展功能。Spring Boot项目中,常常会应用`spring-boot-...

    gradle-6.1.1-all.zip

    在使用这个压缩包时,用户只需将其解压到指定目录,配置好环境变量,就可以在Android Studio中顺利使用Gradle进行项目开发。同时,了解和掌握Gradle的特性及用法,将极大地提升开发效率和项目质量。

    Gradle Demo

    在 Gradle 中,我们可以使用 `war` 或 `bootWar` 任务来创建一个可运行的 Web 服务。`bootWar` 是 Spring Boot 提供的任务,它会生成一个可以直接运行的 `.war` 文件。以下是一个简单的示例: ```groovy apply ...

    基于Gradle构建的JavaWeb项目

    例如,配置Java编译器版本,添加Servlet API等Web开发依赖,以及设置war插件进行Web应用打包。 ```groovy plugins { id 'war' id 'java' } group 'com.example' version '1.0-SNAPSHOT' sourceCompatibility = ...

Global site tag (gtag.js) - Google Analytics