使用Gradle構建工具開發Kotlin Web應用程序

1.安裝Gradle

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

下載後的zip包如下

  wKioL1lArpmgfBbDAAAFj4Vu10A378.png

將zip包解壓,在F盤新建一個Gradle目錄(新建目錄的位置自定義)用來放置解壓後的文件夾,然後將gradle-3.5文件夾複製到F:\Gradle下

  wKioL1lAt-iyqpubAAAMz0FUt64458.png

配置Gradle環境變量,在系統環境變量path中追加F:\Gradle\gradle-3.5\bin;指向Gradle的bin目錄,然後點擊確定

CMD運行gradle -version,如出現以下截圖中的內容說明安裝成功


wKiom1lAuDmhKhuoAAASBfEDTjg928.png

2.安裝Gradle插件


在Eclipse中選擇Help -> Eclipse Marketplace...,輸入buildship點擊Go,然後選擇Install安裝Gradle插件


wKioL1lAuGKBYmxiAADe6oUVkVk322.png


安裝完成後重啓Eclipse。選擇Window -> Preferences 選擇Gradle。設置Gradle的緩存目錄,指向Gradle的安裝目錄(可自定義緩存目錄)


  wKioL1lAuLHzRtLSAACyH4M57AQ807.png


3.開發Web應用程序

在Eclipse中新建Gradle Project。選擇JavaEE視圖


  wKiom1lAuTry3d4bAAAwlYheUPM763.png



New -> Other ,選擇Gradle Project


  wKioL1lAuVzSrnImAACZAeYxcmE452.png



選擇Next


  wKioL1lAuZWyN0-KAAC7dAEtVeI362.png


輸入項目名稱,然後選擇Next


  wKiom1lAubuC2-jKAACdYxbziM4709.png


選擇Gradle的安裝目錄然後點擊Finish


  wKioL1lAu8eBbkN6AACij5x50C4583.png


新建的Gradle項目結構如下。其中build.gradle是Gradle項目的主配置文件,我們只需要修改這個配置文件即可


  wKioL1lAu_fidB5UAAAz2ZNfQh0091.png


先將Gradle Project 轉換成Web項目。右擊項目選擇Properties,然後選擇Project Facets


  wKioL1lAvHnSxgzRAADx72-fQ_Q782.png



會自動添加WebContent目錄


  wKiom1lAvXeS77m6AAAz1f6p0Sg674.png


  

在src下的main下面新建webapp目錄,然後將WebContent下的文件夾複製過去並新建index.jsp,在index.jsp中輸入內容index,然後將WebContent目錄刪除。結構如下


  wKioL1lAvcSxzOOPAAATukjP75o415.png



打開build.gradle文件,其中一些基本的配置以及給我們生成好了


  wKiom1lAvfDC7mo0AACVbeCdpNM138.png



爲了編譯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,然後進行等待片刻


  wKioL1lAwIixgiEsAAA9cOKP7bU735.png


此時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源代碼


  wKioL1lAwYezHxzRAAAn9mtRXFA589.png


選擇Kotin視圖可快速新建Kotlin Class


  wKioL1lAxL3S0BfkAABukWpO9yo975.png


新建完成後會自動添加Kotlin依賴


  wKiom1lAxOSxIz8oAAA2VgVShG0694.png


在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


  wKioL1lAxVPxbDDkAAEk5VFDwVM941.png

  wKioL1lAxXOj7UC6AAElH8T9_aY836.png


點擊Apply然後點擊Run,等到片刻後如Console控制檯上出現以下字樣說明啓動成功


  wKiom1lAxaDg5aR2AAAX-0qo4H8038.png


將http://localhost:8080/Gradle複製到瀏覽器地址欄


  wKioL1lAxdqRsSBmAAAOYueXeI8900.png


輸入Servlet的訪問路徑http://localhost:8080/Gradle/helloworld


   wKiom1lAxf7yAaZkAAARXekKbbw281.png



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章