在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的更多相关文章

  1. 项目自动化建构工具gradle 入门5——在intellij中做一个gradle的web工程

    之前的几个小节,都是纯手工建文件夹,纯手工拷贝war包,或者纯手工解压个zip看看结果,,,,这还是我写了玩的helloWorld.若是玩大工程.几十个人的团队协同开发时,这么玩,,,,暴躁的程序员估 ...

  2. 项目自动化建构工具gradle 入门3——生一个exe的helloWorld

    前两次呢,我们能够用一个外部的jar 来实现输出helloWorld.但问题是我每次都要用java -jar 来执行,这样我们自己玩还可以,让用户玩就不好了.所以我们生成一个exe给他们吧.这次我们仍 ...

  3. 项目自动化建构工具gradle 入门2——log4j输出helloWorld

    上一章节呢,有一个能跑的程序了.但是对做工程的人来说,用日志输出感觉比用System.out要有档次一点.比如使用log4j.直接上例子: 1进入D:\work\gradle\log目录  ,您电脑没 ...

  4. 项目自动化建构工具gradle 入门0——环境 & 废话

    gradle 是一个项目自动化构建工具.同类的产品还有ant ,maven等等.相比之下我更喜欢gradle,它语法简洁.兼容maven.ide集成很好. 学习使用gradle最快的方式是看文档,而且 ...

  5. 项目自动化建构工具gradle 入门1——输出helloWorld

    先来一个简单的例子,4个步骤: 1.进入D:\work\gradle\java 目录  ,您电脑没这目录? 那辛苦自己一级一级建立起来吧 新建文件build.gradle,文件内容是: apply p ...

  6. 前端项目自动化构建工具——Webpack入门教程

    参考资料:https://www.webpackjs.com/(中文文档)   https://www.webpackjs.com/(官方文档) 首先有必要说明一下,本文侧重讲解webpack基本配置 ...

  7. 基于 Groovy 的自动化构建工具 Gradle 入门(转)

    本人工作之初没有使用自动化构建,后来敏捷了,开始使用 Ant - 完全面向过程的定义步骤,不进行依赖管理.再发展到 Maven,面向对象的方式管理工程,有了依赖的管理,JAR 包统一从中央仓库获得,保 ...

  8. 自动化构建工具gradle安装教程(使用sdkman安装)

    gradle是什么?(wiki解释) Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的 ...

  9. gulp前端自动化构建工具新手入门篇

    很久没有更新博文了. 经过了一次年前吐血的赶项目,终于在年后回血了.趁着有空,新学到了一个前端自动化构建工具-gulp. 现在我们通过这3个问题来学习一下: 1.什么是gulp? 2.为什么要用gul ...

随机推荐

  1. MVC5 网站开发之七 用户功能 1、角色的后台管理

    角色是网站中都有的一个功能,用来区分用户的类型.划分用户的权限,这次实现角色列表浏览.角色添加.角色修改和角色删除. 目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 ...

  2. 前端学HTTP之连接管理

    前面的话 HTTP连接是HTTP报文传输的关键通道.要掌握HTTP就需要理解HTTP连接的来龙去脉以及如何使用这些连接 如果想查看一个网页,浏览器收到URL时,会执行下图所示的步骤.将服务器的IP地址 ...

  3. java发送http的get、post请求

    转载博客:http://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.html Http请求类 package wzh.Http; impor ...

  4. Vertica增加一个数据存储的目录

    Vertica增加一个数据存储的目录 操作语法为: ADD_LOCATION ( 'path' , [ 'node' , 'usage', 'location_label' ] ) 各节点添加目录,并 ...

  5. 你真的会玩SQL吗?EXISTS和IN之间的区别

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  6. Asp.Net Core 项目实战之权限管理系统(7) 组织机构、角色、用户权限

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  7. EC笔记:第三部分:16成对使用new和delete

    我们都知道,申请的资源,使用完毕后要释放.但是这个释放动作,一定要注意. 举个例子,很多人动态分配的资源,在使用之后,往往直接调用了delete,而不管申请资源的时候用的是new还是new[]. 如下 ...

  8. Hibernate全套增删改查+分页

    1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...

  9. Js 实现登录验证码

    Js代码: /** * 验证码 */function yzm(){ var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a','b','c ...

  10. [更新]跨平台物联网通讯框架 ServerSuperIO v1.2(SSIO),增加数据分发控制模式

    1.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO) 2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案 3.C#工业 ...