项目自动化建构工具gradle 入门4——javaWeb在浏览器中显示helloWorld
在java应用中,其实做的最多的还是java web应用。所以现在我们做的就是用gradle构建一个简单的web项目,简单点,直接上代码吧。
1、进入目录D:\work\gradle\web,新建文件build.gradle,键入内容:
apply plugin: 'war' // 引入war插件,
repositories { // 从哪里找jar包
flatDir {
// 先看下build.gradle文件所在目录下的 libs目录中有没有
dirs 'libs'
}
maven {
//如果目录中木有,则找url对应的maven仓库,下面是阿里的maven仓库,速度杠杆的。
url "http://maven.oschina.net/content/groups/public/"
}
jcenter() // 官方默认仓库,JCenter相比mavenCenter构件更多,性能也更好
mavenCentral() //如果都木有,则取maven的官方仓库吧,某些构件只有此处有
}
dependencies {
providedCompile "javax.servlet:servlet-api:2.5"
testCompile "junit:junit:4.12"
}
war {
//from 'src/rootContent' // adds a file-set to the root of the archive
//webInf { from 'src/additionalWebInf' } // adds a file-set to the WEB-INF dir.
//classpath fileTree('additionalLibs') // adds a file-set to the WEB-INF/lib dir.
//classpath configurations.moreLibs // adds a configuration to the WEB-INF/lib dir.
//webXml = file('src/someWeb.xml') // copies a file to WEB-INF/web.xml
}
build.gradle
2、进入目录:D:\work\gradle\web\src\main\webapp\WEB-INF,新建文件web.xml,键入内容
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0"> <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list> </web-app>
3、进入目录D:\work\gradle\web\src\main\webapp,新建文件index.html,键入内容:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>hello,world</title>
</head>
<body>
<p>hello,world! welcome to gradle!</p>
</body>
</html>
index.html
4、进入目录D:\work\gradle\web,cmd下键入命令:gradle assemble
5、进入目录D:\work\gradle\web\build\libs,拷贝web.war 到tomcat服务器下的webapp目录下,我电脑上是D:\portable\apache-tomcat-9.0.0.M10\webapps。
6、进入tomcat 的 bin目录,双击startup.bat文件,启动tomcat服务器。我的电脑上是D:\portable\apache-tomcat-9.0.0.M10\bin\startup.bat。
7、在浏览器中输入地址:localhost:8080/web/index.html 能够看到结果了。

ok,到此都做完了,很简单的例子。
下面照例稍作解释:
步骤1:第一行的插件改为war,指明让gradle干生成war包的活。
repositories部分 和前几篇一样,不用改,这个是告诉gradle从哪里找代码中用到的jar包的。
dependencies部分是告诉gradle,代码依赖哪些jar包。
providedCompile 是指tomcat之类的服务器会提供的包,让gradle不要去下载和获取。
testCompile是指编译测试代码时需要的jar包
"javax.servlet:servlet-api:2.5" ,,这个怎么写,在<项目自动化建构工具gradle 入门2——log4j输出helloWorld> 的解释部分有一个暴力的做法。
war部分是告诉gradle生成war包有什么要注意的,一般都是拷贝某些文件到某个文件下之后再生成war包。该部分都注释掉了。有需要的时候再放开注释就好了。
步骤2是war包中必须的web.xml
步骤3是war包中提供的index.html,我们在浏览器中看到的就是这个页面。
步骤4是执行gradle指令,让gradle赶紧把war给生成了。
步骤5-7是把war包跑起来。
项目自动化建构工具gradle 入门4——javaWeb在浏览器中显示helloWorld的更多相关文章
- 项目自动化建构工具gradle 入门5——在intellij中做一个gradle的web工程
之前的几个小节,都是纯手工建文件夹,纯手工拷贝war包,或者纯手工解压个zip看看结果,,,,这还是我写了玩的helloWorld.若是玩大工程.几十个人的团队协同开发时,这么玩,,,,暴躁的程序员估 ...
- 项目自动化建构工具gradle 入门3——生一个exe的helloWorld
前两次呢,我们能够用一个外部的jar 来实现输出helloWorld.但问题是我每次都要用java -jar 来执行,这样我们自己玩还可以,让用户玩就不好了.所以我们生成一个exe给他们吧.这次我们仍 ...
- 项目自动化建构工具gradle 入门2——log4j输出helloWorld
上一章节呢,有一个能跑的程序了.但是对做工程的人来说,用日志输出感觉比用System.out要有档次一点.比如使用log4j.直接上例子: 1进入D:\work\gradle\log目录 ,您电脑没 ...
- 项目自动化建构工具gradle 入门0——环境 & 废话
gradle 是一个项目自动化构建工具.同类的产品还有ant ,maven等等.相比之下我更喜欢gradle,它语法简洁.兼容maven.ide集成很好. 学习使用gradle最快的方式是看文档,而且 ...
- 项目自动化建构工具gradle 入门1——输出helloWorld
先来一个简单的例子,4个步骤: 1.进入D:\work\gradle\java 目录 ,您电脑没这目录? 那辛苦自己一级一级建立起来吧 新建文件build.gradle,文件内容是: apply p ...
- 前端项目自动化构建工具——Webpack入门教程
参考资料:https://www.webpackjs.com/(中文文档) https://www.webpackjs.com/(官方文档) 首先有必要说明一下,本文侧重讲解webpack基本配置 ...
- 基于 Groovy 的自动化构建工具 Gradle 入门(转)
本人工作之初没有使用自动化构建,后来敏捷了,开始使用 Ant - 完全面向过程的定义步骤,不进行依赖管理.再发展到 Maven,面向对象的方式管理工程,有了依赖的管理,JAR 包统一从中央仓库获得,保 ...
- 自动化构建工具gradle安装教程(使用sdkman安装)
gradle是什么?(wiki解释) Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的 ...
- gulp前端自动化构建工具新手入门篇
很久没有更新博文了. 经过了一次年前吐血的赶项目,终于在年后回血了.趁着有空,新学到了一个前端自动化构建工具-gulp. 现在我们通过这3个问题来学习一下: 1.什么是gulp? 2.为什么要用gul ...
随机推荐
- ★Kali信息收集★8.Nmap :端口扫描
★Kali信息收集~ 0.Httrack 网站复制机 http://www.cnblogs.com/dunitian/p/5061954.html ★Kali信息收集~ 1.Google Hackin ...
- 基本数据结构(2)——算法导论(12)
1. 引言 这一篇博文主要介绍链表(linked list),指针和对象的实现,以及有根树的表示. 2. 链表(linked list) (1) 链表介绍 我们在上一篇中提过,栈与队 ...
- ASP.NET Web API与Owin OAuth:使用Access Toke调用受保护的API
在前一篇博文中,我们使用OAuth的Client Credential Grant授权方式,在服务端通过CNBlogsAuthorizationServerProvider(Authorization ...
- MVC5 网站开发之六 管理员 2、添加、删除、重置密码、修改密码、列表浏览
目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 MVC5 网站开发之三 数据存储层功能实现 MVC5 网站开发之四 业务逻辑层的架构和基本功能 MVC5 网 ...
- ES6之块级作用域
一.前言 在ECMAScript6(以下简称ES6)之前,ECMAScript的作用域只有两种: 1. 全局作用域: 2. 函数作用域. 正是因为有这两种作用域,所以在JavaScript中出现一 ...
- RHEL 本地yum源配置
1.创建挂载目录 # mkdir -p /media/cdrom 2.挂载对应系统版本的iso光盘镜像文件 # mount -o loop -t iso9660 /opt/rhel-server- ...
- ARM CPU大小端
ARM CPU大小端: 大端模式:低位字节存在高地址上,高位字节存在低地址上 小端模式:高位字节存在高地址上,低位字节存在低地址上 STM32属于小端模式,简单的说,比如u32 temp=0X1234 ...
- dicom通讯的工作方式及dicom标准简介
本文主要讲述dicom标准及dicom通讯的工作方式.dicom全称医学数字图像与通讯 其实嘛就两个方面 那就是“存储”跟“通讯”. 文件数据组织方式 网络数据组织方式.文件数据组织方式就是解析静态 ...
- 让Lua自己把文件夹下面的所有文件自动加载起来吧
没有想到我也做了一回标题党.其实这里边说的自动还是有夸大其词的部分.其实只是指定文件夹,然后根据指定文件夹数据,加载目录下边的内容而已. 怎么来进行Lua文件的加载 一般情况下,相关的功能需要给他创建 ...
- C++ tinyXML使用
tinyXML下载: http://sourceforge.net/projects/tinyxml/ 加载到项目: 这六个文件添加到你的c++工程中,分别是tinystr.h.tinystr.cpp ...