项目自动化建构工具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 ...
随机推荐
- [CentOs7]搭建ftp服务器(2)——添加用户
摘要 上篇文章完成了ftp服务器的安装与匿名访问的内容,当然出于安全的考虑是不允许匿名访问服务器的,所以就有了本篇的内容 ,为ftp服务器添加用户,用改用户进行访问. vsftpd添加用户 FTP用户 ...
- Oozie分布式任务的工作流——邮件篇
在大数据的当下,各种spark和hadoop的框架层出不穷.各种高端的计算框架,分布式任务如乱花般迷眼.你是否有这种困惑!--有了许多的分布式任务,但是每天需要固定时间跑任务,自己写个调度,既不稳定, ...
- [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二)
[入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二) Date 周六 10 一月 2015 By 钟谢伟 Category website develop ...
- H5实现本地预览图片
我们使用H5可以很容易的实现图片上传前对其进行预览的功能 Html代码如下: <!DOCTYPE html> <html lang="en"> <he ...
- WIN7下查看CPU核心数
方法一 WIN+R输入cmd,输入wmic,输入cpu get *(注意空格),找到numberofcores和numberoflogicalprocessors,如下图为双核4线程,真核心数是2,使 ...
- Basic Tutorials of Redis(1) - Install And Configure Redis
Nowaday, Redis became more and more popular , many projects use it in the cache module and the store ...
- Uri各个属性取值测试
asp.net代码: Uri h_uri = new Uri("http://hovertree.com/tiku/bjaf/3ntux9r9.htm?hewenqi#hewenqipl?d ...
- 征途 bzoj 4518
征途(1s 256MB)journey [问题描述] Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站. Pine计划用m天到达T地.除第m天外,每一天 ...
- 随机数(random)
需求 Random rd=new Random(); 需要十以内的随机数 (0---10) System.out.println((int)((rd.nextDouble()*100)/10)); ...
- pandas.DataFrame对行和列求和及添加新行和列
导入模块: from pandas import DataFrame import pandas as pd import numpy as np 生成DataFrame数据 df = DataFra ...