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’
}
相关推荐
下文就介绍一下怎么用gradle开发多模块项目.对于gradle,在Eclipse和IDEA开者之间,毫无疑问选择IDEA作为IDE. testweb是一个简单例子,项目只分成了core和web两个模块.其中core模块是放一些基本的或公共的java类,web...
想要开始学习springboot+thymeleaf,一个简单的web实例,jar包用的gradle管理
idea-gradle-web-demo 在intellij idea 14中使用gradle 构建 javaweb 项目 并使用tomcat做服务器的代码例子 图文教程请看教程《A5 intellij +gradle +tomcat + 热加载 搭建java web开发环境》
使用 Spring Web MVC、Spring Security、JPA/Hibernate + MySQL、Thymeleaf、Bootstrap、Gradle 开发 Web 应用程序 如果您要使用以下技术堆栈,只需从 github 克隆这个项目并开始开发您的应用程序功能,而无需浪费...
使用Groovy来实现RESTful API Web应用程序。 或用于RESTful API实现)或您要使用的任何框架。 使用Robotframework( )编写一个测试用例,以在Google上搜索“ Ruckus Wireless”,并检查是否找到任何结果。 导出...
gradle+springboot+mysql+mybatis+thymeleaf开发的web实例 想要开始学习springboot+thymeleaf,一个简单的web实例,jar包用的gradle管理
如果您正在任何平台上构建、测试、发布和部署软件,Gradle提供了一个灵活的模型,该模型可以支持从编译和打包代码到发布Web站点的整个开发生命周期。Gradle已经被设计为支持跨多语言和平台的构建自动化,包括Java、...
Jenkins 是一个基于 Java 的开源自动化服务器,Gradle 是一个基于 Apache Ant 和 Maven 的构建工具,Android Studio 是一个基于 IntelliJ IDEA 的 Android 集成开发环境。为了实现 Android 项目的自动化构建和打包,...
gradle Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建...3. **插件生态系统**:Gradle具有丰富的插件生态系统,提供了大量的插件来支持各种开发任务和技术栈,如Java、Kotlin、Android、Web开发、持
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...
它还使用Ratpack Gradle插件作为开发环境。入门*要运行此应用,您需要Java 8 签出此项目,cd进入目录并运行: ./gradlew run这将启动ratpack应用程序。 在浏览器中,转到 。 Gradle Ratpack插件建立在Gradle ...
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...
微信java开发工具包(微信java sdk)是一款专为微信而开发的java sdk工具包,能够支持包括微信支付、开放平台、公众号、企业微信/企业号、小程序等相关模块功能的后端开发,但提供Web实现...
基本的Gradle建造的SpringBoot + Vue前进行分离(含移动端)并合并打包的基本框架子项目说明tool 后端工具子项目common 后端通用子项目server 后端Api接口子项目web WEB端Vue子项目webapp 移动端Vue子项目建造时环境...
该项目演示了端到端开发(我使用作为数据提供者并实现了宁静的APIS。它演示了 api数据provider(模型),泽西岛Web服务中间层数据提供程序(通过rest api(模型)通信rest api,angularJs mvc框架以呈现数据) 要...
* 掌握使用监听器、过滤器等 Web 组件以及 MVC 架构模式进行 Java Web 项目开发的经验 三、Spring 框架 * 掌握 Spring 的 IoC 容器和 AOP 原理 * 熟练使用 Spring 框架管理各种 Web 组件及其依赖关系 * 掌握使用 ...
Spring Boot提供了大量的starter依赖,开发者只需在项目中引入相应的starter,即可快速集成所需的功能,如数据库访问、Web开发、消息传递等。此外,Spring Boot还支持多种数据库和缓存技术,如MySQL、Redis等,为...
Air-China-Web-App-Backend一个基于Spring Cloud平台,使用Spring Boot+Gradle构建的Air-China机票预订Web App的后端解决方案系统框架与技术JWT -Java 8 -JSON -MySQL Connector J -OKHttp -SLF4J -Shiro -MyBatis -...
使用Spring Web MVC,Spring Security,JPA / Hibernate + MySQL,Thymeleaf,Bootstrap,Gradle开发Web应用程序 只需从github克隆此项目,然后开始开发应用程序功能,而不会浪费时间编写配置和库设置(如果要使用...
使用Spring Web MVC,Spring Security,JPA / Hibernate + MySQL,Thymeleaf,Bootstrap,Gradle开发Web应用程序 只需从github克隆此项目,然后开始开发应用程序功能,而不会浪费时间编写配置和库设置(如果要使用...