使用Gradle自定義配置構建Web應用

自定義配置

War 插件默認使用 GBK 編碼做爲代碼編碼。當我們的代碼中有中文字符,並且代碼編碼爲非 GBK 編碼時會報錯編碼GBK的不可映射字符此時我們需要自定義項目編譯編碼
“`groovy
//設置編碼
[compileJava, compileTestJava].options.encoding = ‘UTF-8’

約定的項目結構也許並不能滿足我們項目的情景,我們可以通過自定義配置來使得 Gradle 不使用約定配置編譯項目:
我們隨意變更一下上一篇[使用Gradle第一次構建Web應用](https://coderknock.com/blog/2017/03/13/%E4%BD%BF%E7%94%A8Gradle%E7%AC%AC%E4%B8%80%E6%AC%A1%E6%9E%84%E5%BB%BAWeb%E5%BA%94%E7%94%A8.html)中的項目結構,變更後的結構如下:
```bash
├─srcdiv
│  └─com
│      └─manning
│          └─gia
│              └─todo
│                  ├─model
│                  │      ToDoItem.java
│                  │
│                  ├─repository
│                  │      InMemoryToDoRepository.java
│                  │      ToDoRepository.java
│                  │
│                  └─web
│                          ToDoServlet.java
│
├─static
│  └─css
│          base.css
│          bg.png
│
└─webfiles
    ├─jsp
    │      index.jsp
    │      todo-list.jsp
    │
    └─WEB-INF
            web.xml




<div class="se-preview-section-delimiter"></div>

我們需要在 build.gradle 中添加如下配置:

 //改變項目默認結構
 sourceSets {

     //設置源代碼所在目錄
     main {
         java {
             srcDirs = ['srcdiv']
         }
     }

     //設置測試代碼所在目錄
     test {
         java {
             srcDirs = ['testdiv']
         }
     }
 }

 //改變 Web 應用的源代碼目錄
 webAppDirName = 'webfiles'

 //將靜態文件放到 static 路徑,但是需要打包到 WAR 文件根目錄下
 war {
     from 'static'
 }

這樣我們的項目就可以正常編譯並打包爲可用 WAR 文件。

我們需要在 build.gradle 中添加如下配置:
```groovy
 //改變項目默認結構
 sourceSets {

     //設置源代碼所在目錄
     main {
         java {
             srcDirs = ['srcdiv']
         }
     }

     //設置測試代碼所在目錄
     test {
         java {
             srcDirs = ['testdiv']
         }
     }
 }

 //改變 Web 應用的源代碼目錄
 webAppDirName = 'webfiles'

 //將靜態文件放到 static 路徑,但是需要打包到 WAR 文件根目錄下
 war {
     from 'static'
 }

這樣我們的項目就可以正常編譯並打包爲可用 WAR 文件。 【編譯結果與使用Gradle第一次構建Web應用相同】
相關代碼

發佈了79 篇原創文章 · 獲贊 21 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章