Gradle提供了开箱即用的插件用于组装WAR文件,以及将其部署到本地Servlet容器中。
使用War以及Jetty插件:
War插件扩展了Java插件:添加了一些用于web应用开发的约定,以及对组装WAR文件的支持。Jetty带了一个嵌入式的容器实现,就是通过给你的应用添加一个HTTP模块。Gralde的Jetty插件扩展了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’
}
相关推荐
在现代的Java Web开发中,Gradle已经成为一个流行的构建工具,它替代了传统的Maven或Ant,提供了更灵活、可定制化的构建流程。本示例将深入探讨如何使用Gradle来构建一个WAR(Web Application Archive)文件,这是...
【GradleWeb项目详解】 ...总结,GradleWeb项目为初学者和有经验的开发者提供了一个便捷的起点,通过学习和实践,可以深入了解Gradle在Java Web开发中的应用,以及如何利用其灵活性和强大的功能来优化开发流程。
在现代软件开发中,Gradle已经成为了Java领域广泛使用的构建工具,尤其在大型项目和多模块项目中,其优势更为显著。"gradle多模块开发"这个主题涉及到如何有效地管理和构建多个相互依赖的子项目,形成一个整体的工程...
只需在工具栏选择"Build" -> "Rebuild Project"或使用快捷键,Idea就会调用Gradle进行编译和打包。 对于Web应用,Idea支持创建基于Java EE的多模块项目。例如,一个典型的Web项目可能包含以下模块:`webapp`(包含`...
下文就介绍一下怎么用gradle开发多模块项目.对于gradle,在Eclipse和IDEA开者之间,毫无疑问选择IDEA作为IDE. testweb是一个简单例子,项目只分成了core和web两个模块.其中core模块是放一些基本的或公共的java类,web...
在本文中,我们将深入探讨如何使用Gradle、Spring Boot、MySQL、MyBatis以及Thymeleaf技术构建一个完整的Web应用程序实例。这个实例是初学者理解这些技术集成的理想起点。 首先,让我们逐一介绍这些技术: 1. **...
IntelliJ IDEA是一款强大的Java集成开发环境,支持多种构建工具,其中就包括Gradle。Gradle是一个灵活且高效的构建自动化系统,它允许我们通过声明式的方式来配置项目构建。当两者结合时,可以方便地管理和构建...
Spring框架是Java开发中广泛使用的开源框架,它简化了创建和管理复杂的Java应用程序。Gradle是一种先进的构建自动化工具,常用于...在Eclipse中导入这些依赖文件,可以帮助开发者更高效地进行Spring框架的开发工作。
Gradle还支持与各种持续集成工具(如Jenkins、GitLab CI/CD)的集成,可以方便地进行自动化测试、部署等操作。例如,设置JAR文件的发布路径: ```groovy artifacts { archives jar } ``` 六、结论 "gradleTest...
在Java Web开发中,Jetty是一个轻量级、高性能的HTTP服务器和Servlet容器,它支持多种部署方式,包括作为嵌入式服务器使用。Gradle,作为现代的构建工具,提供了丰富的插件生态系统,其中包括Jetty插件,使得在开发...
Gradle 是一个强大的构建自动化工具,广泛用于Java、Android和其他JVM语言的项目。它采用领域特定语言(DSL)来...通过正确配置和使用Gradle,可以提高开发效率,简化项目维护,同时利用其丰富的插件生态系统扩展功能。
在现代Web开发中,CoffeeScript、LESS和Bower库是常见的工具,它们帮助我们编写更简洁、可读性更强的JavaScript代码以及管理前端资源。然而,依赖Node.js和npm可能会带来额外的复杂性和依赖管理问题。为了解决这个...
Spring Boot的starter项目简化了依赖的引入,如`spring-boot-starter-web`用于添加Web开发支持。 5. **插件应用**:Gradle允许自定义或使用已有的插件来扩展功能。Spring Boot项目中,常常会应用`spring-boot-...
在使用这个压缩包时,用户只需将其解压到指定目录,配置好环境变量,就可以在Android Studio中顺利使用Gradle进行项目开发。同时,了解和掌握Gradle的特性及用法,将极大地提升开发效率和项目质量。
在 Gradle 中,我们可以使用 `war` 或 `bootWar` 任务来创建一个可运行的 Web 服务。`bootWar` 是 Spring Boot 提供的任务,它会生成一个可以直接运行的 `.war` 文件。以下是一个简单的示例: ```groovy apply ...
例如,配置Java编译器版本,添加Servlet API等Web开发依赖,以及设置war插件进行Web应用打包。 ```groovy plugins { id 'war' id 'java' } group 'com.example' version '1.0-SNAPSHOT' sourceCompatibility = ...