0x01 概要

我是一个 Android APP开发者, 但是有时需要服务器进行调试. 偶尔学习新的知识需要服务器配合. 比如学习 Retrofit 时需要各种接口进行配合. 如果在网上找也能找到,为什么自己不搭建一个局域网服务器进行调试学习呢?

对于 Android 开发者来说可能并不熟悉 JavaWeb开发那一套(比如我,如果你熟悉那请跳过本文.), 而且也可能不熟悉Maven配置.相比较而言,更熟悉 Gradle 配置. 那么怎么使用 Gradle构建方式创建JavaWeb?

0x02 新建项目

需要的环境:

  • JDK
  • IDEA

以下为图文教程:

IDEA新建工程,选择Gradle -> web, 然后进入下一步

填写 GroupId, ArtifactId,然后下一步

勾选 红框处,并选择Gradle所在的目录.亦可以选择使用默认的gradle wrapper, 然后next

填写项目名称,然后完成

0x03 修改配置

进入项目后,展开 Project可以看到文件目录如下:

包含了基本的Java目录和 index.jsp文件.打开 build.gradle文件内容入下:

group 'devwiki.net'
version '1.0-SNAPSHOT'

apply plugin: 'war'

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
}

包含的基本的信息和依赖.那怎么让该项目运行起来呢?

如果你使用的Gradle版本小于4.0, 使用 jetty 插件, 如果大于等于 4.0 则使用Gretty插件.

Gradle版本小于4.0, 添加 jetty插件

修改build.gradle 文件,修改入下:

group 'devwiki.net'
version '1.0-SNAPSHOT'

apply plugin: 'war'
apply plugin: 'jetty'

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
}

Gradle 版本大于等于4.0,添加 Gretty插件

Gretty提供两种方式集成插件:Getting started,这里采用最简单的一种

修改build.gradle文件,修改入下:

group 'devwiki.net'
version '1.0-SNAPSHOT'

apply plugin: 'war'
apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
}

修改完毕后点击 IDEA右侧的 Gradle 面板上的刷新按钮

等待刷新完成后,可以看到gretty 相关的任务:

展开里面可以看到提供了很多任务.

0x04 运行项目

控制台执行: gradle appRun,等待执行任务完成.结果如下:

C:\Develop\Workspace\IDEA\JavaWeb>gradle appStop

BUILD SUCCESSFUL in 3s
1 actionable task: 1 executed
C:\Develop\Workspace\IDEA\JavaWeb>gradle appRun
22:49:45 INFO  Jetty 9.2.22.v20170606 started and listening on port 8080
22:49:45 INFO  JavaWeb runs at:
22:49:45 INFO    http://localhost:8080/JavaWeb

> Task :appRun
Press any key to stop the server.
<===========--> 87% EXECUTING [42s]
> :appRun
> IDLE

这时在浏览器打开 http://localhost:8080/JavaWeb可以看到运行结果:

至此,一个 Gradle构建的JavaWeb项目就创建完毕,后面就是根据自己的需要添加代码和依赖.

本文为 DevWiki 原创,如若转载请附带本文连接: http://blog.devwiki.net/index.php/2017/10/26/develop-java-web-with-gradle.html