本文由 伯樂在線 - JustinWu翻譯,黃利民 校稿。未經許可,禁止轉載! 英文出處:Petri Kainulainen。歡迎加入翻譯組。html
若是你並不熟悉Gradle,在繼續閱讀本文以前,你應當先閱讀如下文章。java
若是要用 Java 和 Gradle 建立一個 Web 應用項目,咱們首先須要建立一個 Java 項目,下面來看看該如何去作。git
咱們可使用Java插件建立一個Java項目,經過添加如下代碼行到build.gradle文件中便可。github
apply plugin: 'java'
擴展閱讀: Java插件中加入了一些新的約定(例如:默認的目錄格式)、任務和構建屬性。若是你想獲悉這些內容,能夠閱讀下面這篇文章。《Gradle入門(2):第一個Java項目》web
咱們繼續探索如何打包Web應用。shell
在咱們使用War插件打包Web應用前,須要將其加入到構建中。在應用了War插件後,build.gradle文件以下:api
apply plugin: 'java' apply plugin: 'war'
War插件在項目的目錄佈局下添加了一個新的目錄,加入了兩個新的依賴管理配置項,以及在項目中添加了一個新的任務。這些變化的詳細描述以下:app
即使War插件在項目的目錄佈局下添加了src/main/webapp目錄,但它實際上並無被真正建立。若是咱們須要這個目錄,那就必須本身來建立。webapp
擴展閱讀: 若是你不知道compile和runtime配置項是什麼,你應該閱讀如下文章:《Gradle入門(3):依賴管理》ide
如今,咱們能夠在命令提示符下,經過gradle war命令打包Web應用。此時此刻,咱們能夠看到以下輸出:
> gradle war :compileJava :processResources :classes :war BUILD SUCCESSFUL Total time: 4.937 secs
若是一切順利,咱們應該能夠在build/libs目錄下找到web-application.war文件。
擴展閱讀:若是你須要關於War插件或war任務的更多信息,或者是,你想要覆蓋War插件或war任務的默認配置,你能夠多多關注如下網頁:
咱們可使用Gretty在開發環境中運行Web應用,它支持Jetty和Tomcat,它也不會被 Gradle缺乏SLF4J綁定所致使的問題所困擾。咱們繼續進行配置構建並使用Gretty運行Web應用。首先,必須配置構建腳本的依賴。能夠經過如下步驟完成:
**擴展閱讀:**若是你想了解更多關於在已經打包爲jar的文件上使用的二進制插件的技巧,你能夠閱讀Gradle用戶手冊的如下章節:
第二步,應用Gretty插件。作完這一步後,build.gradle文件以下:
buildscript { repositories { jcenter() } dependencies { classpath 'org.akhikhl.gretty:gretty' } } apply plugin: 'java' apply plugin: 'war' apply plugin: 'org.akhikhl.gretty'
build.gradle的源代碼以下:
buildscript { repositories { jcenter() } dependencies { classpath 'org.akhikhl.gretty:gretty' } } apply plugin: 'java' apply plugin: 'war'
第三步,按照如下步驟配置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 = 8080 contextPath = '/' servletContainer = 'jetty9' }
擴展閱讀:若是你想了解關於Gretty的更多內容,能夠仔細看一下如下文檔:
如今,咱們能夠經過在命令提示符下運行如下命令,開啓或終止咱們的Web應用:
這篇教程教會了咱們四項內容:
P.S. 你能夠從 Github 上拿到這篇教程的演示程序。