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

1.安裝Maven

下載地址http://maven.apache.org/download.cgi。Windows用戶下載zip包。筆者使用的Maven下載鏈接: http://pan.baidu.com/s/1qYBFZcw 密碼: gmer

下載後的zip包如下

  wKioL1lA3d3wBPeSAAAFyu4zfRg131.png


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

  wKioL1lA3gKjUdXHAAAJ54UyCrY595.png

配置Gradle環境變量,在系統環境變量中新建環境變量MAVEN_HOME,變量值爲F:\Maven\apache-maven-3.2.3(Maven的根目錄)


   wKiom1lA3i7jUzWtAAAyLERt5Ow092.png


然後點擊確定,在系統環境變量Path中追加%MAVEN_HOME%\bin;指向Maven的bin目錄

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


  wKiom1lA3mGAufknAAAWi9vfgjA846.png

2.配置Maven

打開Eclipse,選擇Window -> Preferences,然後展開Maven選擇Installations,點擊Add

 

  wKiom1lA3p6zdyqvAADN29ata88488.png


點擊Directory,在彈出的對話框中選擇Maven的安裝目錄,然後點擊Finish


  wKiom1lA3tiieMXFAACZ9bBoUIY856.png


然後勾選新添加的maven選項,點擊OK


  wKioL1lA3wvzVp_gAADZKqwHOP4098.png



修改Maven配文件,這裏使用安裝的Maven配置文件。選擇User Settings,點擊Browser


  wKioL1lA32zgJDEvAADSHCAekQ0048.png


選擇Maven安裝目錄下conf目錄下的settings.xml文件,然後點擊Update Settings,點擊OK


  wKiom1lA36mwjdvJAADVmEkZEXU566.png


3.開發Web應用程序

在Eclipse中新建Maven Project。選擇New -> Maven Project,然後點擊Next


  wKiom1lA4BfTHdLrAACZxBNaM_8415.png


Group Id輸入com.test,Artifact Id輸入maven。Packaging選擇war,然後點擊Finish


  wKiom1lA4EagZkKeAACn2tnK7Kc183.png

  wKiom1lA4GSTkfkOAAAauWTv63M259.png


此時新建的Maven Project已經是Web項目無需轉換了。上圖顯示紅色的x,因爲這是一個web項目缺少web.xml配置文件。我們從其它地方複製META-INF和WEB-INF兩目錄過來,也可以從web項目中複製。結構如下


  wKioL1lA4IuhkQErAAAQrBXvhjo900.png


打開pom.xml配置文件。我們需要配置Kotlin插件和Kotlin標準庫。配置如下

<properties>
    <kotlin.version>1.1.2</kotlin.version>
</properties>
 
<dependencies>
    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib</artifactId>
        <version>${kotlin.version}</version>
    </dependency>
 </dependencies>
 
<build>
  <!-- 只編譯Kotlin時配置 -->
    <!-- <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
    <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory> -->
  
    <plugins>
    <!-- Kotlin編譯插件必須配置在Maven編譯插件之前 -->
        <plugin>
        <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-plugin</artifactId>
            <version>${kotlin.version}</version>
            <executions>
                <execution>
                    <id>compile</id>
                    <goals> <goal>compile</goal> </goals>
                    <!-- Kotlin與Java代碼混編時指定資源目錄 -->
                    <configuration>
                        <sourceDirs>
                           <sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
                           <sourceDir>${project.basedir}/src/main/java</sourceDir>
                        </sourceDirs>
                    </configuration>
                </execution>
                <execution>
                    <id>test-compile</id>
                    <goals> <goal>test-compile</goal> </goals>
                    <configuration>
                        <sourceDirs>
                            <sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
                            <sourceDir>${project.basedir}/src/test/java</sourceDir>
                        </sourceDirs>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
            <executions>
                <!-- 替換會被 maven 特別處理的 default-compile -->
                <execution>
                    <id>default-compile</id>
                    <phase>none</phase>
                </execution>
                <!-- 替換會被 maven 特別處理的 default-testCompile -->
                <execution>
                    <id>default-testCompile</id>
                    <phase>none</phase>
                </execution>
                <execution>
                    <id>java-compile</id>
                    <phase>compile</phase>
                    <goals> <goal>compile</goal> </goals>
                </execution>
                <execution>
                    <id>java-test-compile</id>
                    <phase>test-compile</phase>
                    <goals> <goal>testCompile</goal> </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
  </build>

添加JavaEE類庫

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>6.0</version>
    <scope>provided</scope>
</dependency>

添加war包插件

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>  
    <version>2.6</version>  
    <configuration>  
        <warName>maven</warName>  
    </configuration>  
</plugin>

爲了運行web程序還需要tomcat插件

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.2</version> 
    <configuration>
        <port>8080</port>
        <server>tomcat7</server>
        <path>/maven</path> <!-- 應用的部署context path -->
    </configuration> 
</plugin>

保存後會自動下載jar包依賴


  wKiom1lA4TCQYHhsAAAXO8tuSBc595.png



選擇項目右擊,選擇Maven -> Update Project,點擊OK


  wKioL1lA4VSgDqyPAAArBvdD4oQ060.png


然後在webapp下新建一個index.jsp,在index.jsp中輸入index



新建一個sourse目錄爲src/main/kotlin用來存放Kotlin源代碼。點擊Finish


  wKiom1lA4YCwRer2AACUeLJW95s824.png

  wKiom1lA4Z_jvdHwAAAl1AMAy4M371.png


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



選中src/main/kotlin,選擇New -> Kotlin Class,新建一個HelloWorld.kt文件


  wKioL1lA4dGgvANbAAB8fmJfMVM892.png

  wKiom1lA4dKwFvWGAAAwJ-UcXrI643.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 -> Maven Build,如果是第一次運行會彈出如下對話框


 wKioL1lA4muR7kPWAADgPoDvoYo227.png


在Goals一欄輸入tomcat7:run,然後點擊Run,運行內嵌的tomcat


  wKioL1lA4p_juA3tAADi_FCvDm8384.png


控制檯最後輸出如下截圖內容則說明啓動成功


  wKioL1lA4uuDXlfAAABjwQ3CPJ4300.png


在瀏覽器地址欄輸入http://localhost:8080/maven


  wKiom1lA4wnhb9tWAAAOKz3bvvI501.png


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


  wKioL1lA4y3y98GVAAARLJPD90s975.png



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