2014-02-22 78 views
0

我正在使用3個子項目來開發父項目。我使用Gradle作爲其構建工具。我是使用Gradle構建工具的新手。有誰知道如何使用tomcat插件構建一個帶有子項目的gradle父項目

我試圖讓它運行父項目時,父項目和可能兩個子項目自動運行在Web應用程序(Tomcat Web容器)上。

我發現了一個有用的網站https://github.com/bmuschko/gradle-tomcat-plugin/blob/master/README.md

我看到,我有幾件事情添加到父項目的build.gradle。例如:

apply plugin: 'tomcat' 

它定義了以下任務:

tomcatRun:啓動Tomcat實例並部署展開的web應用它。 tomcatRunWar:啓動一個Tomcat實例並將WAR部署到它。 tomcatStop:停止Tomcat實例。 tomcatJasper:運行JSP編譯器(Jasper)並使用JSP將頁面轉換爲Java源代碼。

我需要運行「tomcatRun」和「tomcatStop」任務。我應該在哪裏宣佈每項任務?我想我應該在倉庫{} tomcatRun {....中聲明它,但我不確定。那是我要申報的地方嗎?如果我的端口是8080,是否必須聲明httpPort?我問,因爲8080是默認值,我使用默認值?

我必須在依賴關係中聲明tomcat的類路徑(classpath'org.gradle.api.plugins:gradle-tomcat-plugin:0.9.7')。對?

對於我想添加到tomcat中的每個子項目,是否必須在它們的「項目」部分(project(':subproject-a'){dependencies {classpath ... ?

我加aplly插件:爲「tomcat」,但是當我運行它,我得到「插件與ID爲‘tomcat’沒有發現我缺少什麼

我在哪裏定義的Tomcat選項

[tomcatRun, tomcatRunWar]*.contextPath = 'stock-webservice' 
[tomcatRun, tomcatRunWar, tomcatStop]*.stopPort = 8081 
[tomcatRun, tomcatRunWar, tomcatStop]*.stopKey = 'stopKey' 

回答

1

你的許多問題都應該由插件的文檔回答離子。首先,你提到的任務是由插件提供的。你不需要自己申報。運行gradle tasks以獲取項目可用的任務列表。如果給予一個財產的默認值,那麼你不需要提供它。將Tomcat依賴關係分配給tomcat配置。您可以從README文件複製/粘貼相關代碼。如果找不到插件,那意味着您沒有爲buildscript的類路徑聲明插件依賴項。您也可以複製/粘貼文檔中的相關代碼。

一般來說,我建議先閱讀Gradle在線文檔,以更好地理解該工具。

+0

我能夠通過很多更改成功運行它。 1.我修改了類路徑。 2.我將構建腳本細節(從您的自述文件中)添加到build.gradle。 buildscript { 庫{ jcenter() } 依賴性{ 類路徑 'org.gradle.api.plugins:gradle這個-Tomcat的插件:1.0' } } ,其最初不工作,「可能。 ..「,引導我去(http://stackoverflow.com/questions/21087330/gradle-eclipse-plugin-could-not-find-method-jcenter-for-arguments-on-repo) – newmarylandjersey

+0

3.手動添加gradle-tomcat-plugin-1.0到gradle的插件目錄 4.升級gradle 添加tomcat「org.apache.tomcat:tomcat-catalina:$ {tomcatVersion}」, 「org.apache.tomcat:tomcat-coyote:$ { tomcatVersion}「, 「org.apache.tomcat:tomcat-jasper:$ {tomcatVersion}」 我想在tomcat上運行的子項目。 – newmarylandjersey

+0

我有:[tomcatRun,tomcatStop] *。stopKey ='stopKey'如何阻止Tomcat運行? – newmarylandjersey

相關問題