使用Gradle构建工具开发Kotlin Web应用程序

1.安装Gradle

下载地址https://gradle.org/install。笔者使用的Gradle下载地址链接: http://pan.baidu.com/s/1gf9qyC7 密码: u3k6。注意Gradle要求jdk1.7或更高

下载后的zip包如下

  使用Gradle构建工具开发Kotlin Web应用程序

将zip包解压,在F盘新建一个Gradle目录(新建目录的位置自定义)用来放置解压后的文件夹,然后将gradle-3.5文件夹复制到F:\Gradle下

  使用Gradle构建工具开发Kotlin Web应用程序

配置Gradle环境变量,在系统环境变量path中追加F:\Gradle\gradle-3.5\bin;指向Gradle的bin目录,然后点击确定

CMD运行gradle -version,如出现以下截图中的内容说明安装成功


使用Gradle构建工具开发Kotlin Web应用程序

2.安装Gradle插件


在Eclipse中选择Help -> Eclipse Marketplace...,输入buildship点击Go,然后选择Install安装Gradle插件


使用Gradle构建工具开发Kotlin Web应用程序


安装完成后重启Eclipse。选择Window -> Preferences 选择Gradle。设置Gradle的缓存目录,指向Gradle的安装目录(可自定义缓存目录)


  使用Gradle构建工具开发Kotlin Web应用程序


3.开发Web应用程序

在Eclipse中新建Gradle Project。选择JavaEE视图


  使用Gradle构建工具开发Kotlin Web应用程序



New -> Other ,选择Gradle Project


  使用Gradle构建工具开发Kotlin Web应用程序



选择Next


  使用Gradle构建工具开发Kotlin Web应用程序


输入项目名称,然后选择Next


  使用Gradle构建工具开发Kotlin Web应用程序


选择Gradle的安装目录然后点击Finish


  使用Gradle构建工具开发Kotlin Web应用程序


新建的Gradle项目结构如下。其中build.gradle是Gradle项目的主配置文件,我们只需要修改这个配置文件即可


  使用Gradle构建工具开发Kotlin Web应用程序


先将Gradle Project 转换成Web项目。右击项目选择Properties,然后选择Project Facets


  使用Gradle构建工具开发Kotlin Web应用程序



会自动添加WebContent目录


  使用Gradle构建工具开发Kotlin Web应用程序


  

在src下的main下面新建webapp目录,然后将WebContent下的文件夹复制过去并新建index.jsp,在index.jsp中输入内容index,然后将WebContent目录删除。结构如下


  使用Gradle构建工具开发Kotlin Web应用程序



打开build.gradle文件,其中一些基本的配置以及给我们生成好了


  使用Gradle构建工具开发Kotlin Web应用程序



为了编译Kotlin我们需要Kotlin插件,将如下配置复制到build.gradle中

buildscript {
    ext.kotlin_version = '1.1.2'
 
    repositories {
        jcenter()
    }
 
    dependencies {
        classpath
"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
 
apply plugin: 'kotlin'

同时需要java插件和war包插件

apply plugin: 'java'
apply plugin: 'war'

配置Kotlin的依赖库

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

为了开发web应用程序我们还需要JavaEE类库

providedCompile group: 'javax', name: 'javaee-api', version: '7.0'

这里我们使用内嵌的tomcat来运行应用程序,所以需要tomcat插件,添加如下配置

dependencies {
    def tomcatVersion = '7.0.68'
    
    tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",  
           "org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}",  
           "org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}"
}

使用tomcat插件

apply plugin: 'com.bmuschko.tomcat'

完整配置如下

buildscript {
    ext.kotlin_version = '1.1.2'
 
    repositories {
        mavenCentral()
    }
 
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.bmuschko:gradle-tomcat-plugin:2.2.2'
    }
}
// Apply the java-library plugin to add support for Java Library
apply plugin: 'java-library'
apply plugin: 'kotlin'
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'com.bmuschko.tomcat'
 
// In this section you declare where to find the dependencies of your project
repositories {
    // Use jcenter for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    mavenCentral()
}
 
dependencies {
    // Use JUnit test framework
    testImplementation 'junit:junit:4.12'
    
    providedCompile group: 'javax', name: 'javaee-api', version: '7.0'
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
dependencies {
    def tomcatVersion = '7.0.68'
    
    tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",  
           "org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}",  
           "org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}"
}


选择项目右击选择Gradle -> Refresh Gradle Project,然后进行等待片刻


  使用Gradle构建工具开发Kotlin Web应用程序


此时kotlin-stadlib、javaee-api都已经引入到classpath中


Kotlin插件默认使用src/main/kotlin作为源代码目录,如果不使用默认约定则应配置sourceSets

sourceSets {
    main.kotlin.srcDirs += 'src/main/myKotlin'
    main.java.srcDirs += 'src/main/myJava'
}

选择项目新建一个source目录命名为src/main/kotlin用来存放Kotlin源代码


  使用Gradle构建工具开发Kotlin Web应用程序


选择Kotin视图可快速新建Kotlin Class


  使用Gradle构建工具开发Kotlin Web应用程序


新建完成后会自动添加Kotlin依赖


  使用Gradle构建工具开发Kotlin Web应用程序


在HelloWorld.kt中编写如下代码

package com.test.servlet
 
import javax.servlet.http.HttpServlet
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
import javax.servlet.annotation.WebServlet
 
@WebServlet("/helloworld")
class HelloWorld : HttpServlet(){
    override fun doGet(req: HttpServletRequest, resp: HttpServletResponse) {
        println("enter the doGet method");
        resp.writer.write("Hello, World")
    }
}

4.运行应用程序



在JavaEE视图中右击项目选择Run as -> Run Configurations,选择Gradle Project,然后选择New


  使用Gradle构建工具开发Kotlin Web应用程序

  使用Gradle构建工具开发Kotlin Web应用程序


点击Apply然后点击Run,等到片刻后如Console控制台上出现以下字样说明启动成功


  使用Gradle构建工具开发Kotlin Web应用程序


将http://localhost:8080/Gradle复制到浏览器地址栏


  使用Gradle构建工具开发Kotlin Web应用程序


输入Servlet的访问路径http://localhost:8080/Gradle/helloworld


   使用Gradle构建工具开发Kotlin Web应用程序