2017-07-26 40 views
0

我的目錄內在張力結構是,
C:\繪圖器的\ src \ *的.java
C:\繪圖器\ LIB \的* .jar創建能夠從Java文件的WAR使用搖籃腳本

有很多Java文件和許多jar依賴項。我想創建一個tomcat可部署的WAR。
任何人可以建議我如何使用gradle腳本創建一個WAR嗎?什麼是在Gradle中包含的用於創建WAR的依賴關係。

+1

你自己嘗試過什麼嗎?你試圖在哪裏失敗? – Markus

+0

我嘗試使用build.gradle文件,其中包含插件作爲Java和戰爭,它創建了1kb的戰爭文件。 – Ram

+0

您應該將這些信息添加到問題中。特別是顯示你的build.gradle將有助於回答你的問題。 – Markus

回答

0

您是否閱讀並理解​​?

War插件添加兩個名爲providedCompile和providedRuntime的依賴項配置。這兩個配置與相應的編譯和運行時配置具有相同的範圍,但它們不會添加到WAR存檔中。重要的是要注意那些提供的配置是可以傳遞的。假設您將commons-httpclient:commons-httpclient:3.0添加到任何提供的配置中。這種依賴性依賴於commons-codec。因爲這是「提供的」配置,這意味着即使commons-codec庫是編譯配置的顯式依賴項,這些依賴項也不會添加到WAR中。如果您不想要這種傳遞行爲,只需聲明您提供的依賴項,如commons-httpclient:commons-httpclient:[email protected]

如果使用providedCompile或providedRuntime,則這些依賴關係將不會添加到您的戰爭歸檔中。

,你需要在你的項目中的文件夾結構是:

app 
|-src 
    |-main 
     |-java 
     |-webapp 

java文件夾中添加您自己的包和類。如果您的應用程序使用這些項目,則可以在webapp文件夾中添加Web內容。

+0

我已經嘗試了所有可能的方式從不同的建議,但無法解決。我是新來的Gradle和Java的概念,我想知道什麼依賴/額外的文件應該包括建立一個戰爭文件,因爲我只有.java文件。 – Ram

+0

我已經編譯了所有與依賴jar有關的java文件,並且能夠創建類文件。我想知道創造戰爭需要遵循的進一步步驟。 – Ram

+0

由於您使用的是Gradle,請使用「war」插件並運行'./gradlew build'。然後Gradle將構建您的戰爭,位於build/libs/your_application.war中。如果我們能看到你的gradle.build –