gradle创建web工程_Gradle入门:创建Web应用程序项目
gradle創建web工程
這篇博客文章描述了如何使用Gradle創建一個Web應用程序項目。
更具體地說,我們想創建一個使用Java的Web應用程序項目,將我們的Web應用程序打包到WAR文件中,并在開發環境中運行我們的Web應用程序。
讓我們找出如何滿足這些要求。
補充閱讀:
如果您不熟悉Gradle, 則應先閱讀以下博客文章,然后再繼續閱讀此博客文章:
- Gradle入門:簡介可幫助您安裝Gradle,描述Gradle構建的基本概念,并描述如何使用Gradle插件向構建中添加功能。
- Gradle入門:我們的第一個Java項目描述了如何使用Gradle創建Java項目并將應用程序打包到可執行jar文件中。
- Gradle入門:依賴性管理介紹了如何管理Gradle項目的依賴性。
創建一個Web應用程序項目
如果我們要創建一個使用Java和Gradle的Web應用程序項目,那么我們要做的第一件事就是創建一個Java項目。 讓我們看看我們如何做到這一點。
創建一個Java項目
我們可以通過應用Java插件來創建Java項目。 我們可以通過在build.gradle文件中添加以下行來實現:
apply plugin: 'java'Java插件將新的約定(例如,默認目錄布局),任務和屬性添加到我們的構建中。 如果您想了解更多有關此的信息,則應閱讀以下博客文章:
- Gradle入門:我們的第一個Java項目
讓我們繼續前進,了解如何打包我們的Web應用程序。
打包我們的Web應用程序
在使用War插件打包Web應用程序之前 ,我們必須將其添加到我們的構建中。 應用War插件后, build.gradle文件如下所示:
apply plugin: 'java' apply plugin: 'war'War插件將新目錄添加到項目的目錄布局中,添加了兩個新的依賴項管理配置,并向我們的項目添加了新任務。 這些更改描述如下:
- War插件將src / main / webapp目錄添加到項目的目錄布局中。 此目錄包含Web應用程序的源(CSS文件,Javascript文件,JSP文件等)。
- War插件添加了兩個新的依賴項管理配置,稱為providerCompile和providerRuntime 。 這兩個配置與編譯和運行時配置具有相同的作用域,但是不同之處在于,屬于這些新配置的依賴項未添加到WAR存檔中。
- War插件還將戰爭任務添加到我們的Web應用程序項目中。 此任務將WAR歸檔文件匯編到build / libs目錄。
補充閱讀:
如果您不知道什么是編譯和運行時配置,則應閱讀以下博客文章:
- Gradle入門:依賴管理
現在,我們可以通過在命令提示符下運行命令gradle war來打包Web應用程序。 當我們這樣做時,我們應該看到以下輸出:
> gradle war :compileJava :processResources :classes :warBUILD SUCCESSFULTotal time: 4.937 secs如果一切按預期進行,我們應該從build / libs目錄中找到web-application.war文件。
注意:
如果您需要有關War插件或
war任務,或者您想覆蓋War插件或war任務的默認配置,則應仔細查看以下網頁:
- Gradle用戶指南:第26章。War插件
- Gradle DSL參考:戰爭任務
讓我們找出如何在開發環境中運行Web應用程序。
運行我們的Web應用程序
我們可以使用Gretty在開發環境中運行Web應用程序。 它同時支持Jetty和Tomcat,并且不會受到Gradle泄漏SLF4J綁定引起的問題的困擾 。 讓我們繼續并配置我們的構建,以使用Gretty運行我們的Web應用程序。
首先 ,我們必須配置構建腳本的依賴關系。 我們可以按照以下步驟進行操作:
build.gradle文件的源代碼如下所示:
buildscript {repositories {jcenter()}dependencies {classpath 'org.akhikhl.gretty:gretty:+'} }apply plugin: 'java' apply plugin: 'war'如果您想了解有關使用已發布為jar文件的二進制插件的更多信息,則應閱讀《 Gradle用戶指南》的以下部分:
- Gradle用戶指南:21.4通過buildscript塊應用插件
- Gradle用戶指南:60.5構建腳本的外部依賴關系
其次 ,我們必須應用Gretty插件。 完成此操作后, build.gradle文件如下所示:
buildscript {repositories {jcenter()}dependencies {classpath 'org.akhikhl.gretty:gretty:+'} }apply plugin: 'java' apply plugin: 'war' apply plugin: 'org.akhikhl.gretty'第三 ,我們需要按照以下步驟配置Gretty:
build.gradle文件的源代碼如下所示:
buildscript {repositories {jcenter()}dependencies {classpath 'org.akhikhl.gretty:gretty:+'} }apply plugin: 'java' apply plugin: 'war' apply plugin: 'org.akhikhl.gretty'gretty {port = 8080contextPath = '/'servletContainer = 'jetty9' }如果您想了解有關Gretty的更多信息,則應仔細閱讀其文檔:
- Gretty文檔:入門
- Gretty文檔:Gretty配置
- 灰色文檔
現在,我們可以通過在命令提示符處運行以下命令來啟動和停止Web應用程序:
- 命令gradle appStart將運行我們的Web應用程序。
- 命令gradle appStop將停止我們的Web應用程序。
讓我們繼續并總結從這篇博客文章中學到的知識。
摘要
這篇博客文章教會了我們四件事:
- 我們了解到,如果使用默認配置,則必須將Web應用程序的源放置到src / main / webapp目錄中。
- 我們了解到War插件向我們的構建中添加了兩個新的依賴項配置( provideCompile和ProvidedRuntime ),并且我們學習了這些依賴項配置如何工作。
- 我們學習了將Web應用程序打包到WAR文件中。
- 我們學會了在開發環境中運行Web應用程序。
PS:您可以從Github獲得此博客文章的示例應用程序。
如果您想學習如何使用Gradle,則應該看一下我的Gradle教程 。
翻譯自: https://www.javacodegeeks.com/2015/03/getting-started-with-gradle-creating-a-web-application-project.html
gradle創建web工程
總結
以上是生活随笔為你收集整理的gradle创建web工程_Gradle入门:创建Web应用程序项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jsf表单验证_JSF:在正确的阶段进行
- 下一篇: c 多线程编程(c 多线程 linux)